В ядре Linux устранена следующая уязвимость:
net: сидеть: требуется CAP_NET_ADMIN в сети устройства для изменения ссылки
ipip6_changelink() работает не более чем с двумя сетями: dev_net(dev) и
туннельная связь netns t->net. Они различаются в зависимости от того, создано ли устройство в или
перемещен в сеть netns, отличную от той, в которой выполняется запрос.
путь изменения ссылки проверяет CAP_NET_ADMIN только на соответствие dev_net(dev), поэтому
вызывающий абонент имеет привилегии там, но не в t->net, может переписать туннель, который
живет в t->net.
Ворота ipip6_changelink() на rtnl_dev_link_net_capable() вверху,
перед анализом любого атрибута. сидеть был единственным типом туннеля, который не был охвачен
недавней серией, в которой эта проверка была добавлена в другую ссылку изменения()
обработчики.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: net: sit: require CAP_NET_ADMIN in the device netns for changelink ipip6_changelink() operates on at most two netns, dev_net(dev) and the tunnel link netns t->net. They differ once the device is created in or moved to a netns other than the one the request runs in. The rtnl changelink path checks CAP_NET_ADMIN only against dev_net(dev), so a caller privileged there but not in t->net can rewrite a tunnel that lives in t->net. Gate ipip6_changelink() on rtnl_dev_link_net_capable() at its top, before any attribute is parsed. sit was the one tunnel type not covered by the recent series that added this check to the other changelink() handlers.
Характеристики атаки
Последствия
Строка CVSS v3.1