Уязвимость OVSwrap в Open vSwitch открыла локальный путь к root в Linux

Исследователь Асим Манизада раскрыл уязвимость CVE-2026-64531, или OVSwrap, в datapath Open vSwitch внутри ядра Linux. Ошибка с оценкой CVSS 7.8 позволяет обычному локальному пользователю повысить привилегии до root, а опубликованный эксплойт содержит готовые данные примерно для 800 точных сборок ядра x86-64.
Проблема находится не в пользовательском демоне ovs-vswitchd. Для атаки не нужны работающий OVS-мост, запущенный демон или CAP_NET_ADMIN на уровне хоста. Если доступны модуль datapath и непривилегированные пространства имён пользователей, атакующий может создать собственные user- и network namespace и получить CAP_NET_ADMIN внутри них.
Как возникает повреждение памяти
Open vSwitch хранит сгенерированные действия потока как атрибуты Netlink. Поле nla_len имеет ширину 16 бит, поэтому размер одного вложенного атрибута ограничен 65 535 байтами. Небезопасное присваивание существовало 13 лет, но общий лимит потока действий в 32 КиБ не позволял вложенному действию достичь точки переполнения.
В марте 2025 года этот лимит убрали из-за непредсказуемых сбоев, в том числе в крупных средах OpenStack. После этого стала достижима старая ошибка усечения. Атакующий передаёт действие CLONE с сотнями вложенных действий conntrack; на x86-64 каждое расширяется до 164 байт, итоговая длина превышает 65 535 байт и оборачивается в 16-битном поле.
Последующий код доверяет неверной длине и продолжает разбор внутри контролируемых атакующим данных conntrack. Эксплойт получает утечку указателя ядра, произвольное чтение памяти и направленное уменьшение значения, а затем находит учётные данные процесса хоста и обнуляет fsuid и fsgid.
Какие системы затронуты
Манизада подтвердил эксплуатацию в стандартных конфигурациях ряда выпусков AlmaLinux, Alpine, Amazon Linux 2023, Arch, CentOS Stream, Debian, Fedora, Gentoo, Kali, Linux Mint, NixOS, openSUSE Tumbleweed, Pop!_OS, Rocky Linux и Ubuntu 22.04. Пустой вывод lsmod не гарантирует безопасность: разрешение имени семейства Generic Netlink способно автоматически загрузить установленный модуль openvswitch.
Контекст риска дополняют материалы о Linux-руткитах, 0-day и AI-атаках, поскольку локальные уязвимости ядра особенно опасны на системах с несколькими пользователями или недоверенными нагрузками. На протестированной Ubuntu 24.04 прямое создание namespace блокировал AppArmor, однако обход через aa-exec восстановил доступ к уязвимому пути. Стандартная Ubuntu 26.04 закрывала маршрут для обычного пользователя.
Первое исправление появилось в стабильных ветках 24 июля. Исправлены Linux 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.40 и 7.1.5. Завершившие поддержку серии 6.13–6.17, 6.19 и 7.0 обновлений upstream не получат. Однако ориентироваться только на номера upstream нельзя: дистрибутивы используют собственные изменения и обратные переносы, поэтому решающим остаётся трекер поставщика.
Что делать администраторам
Приоритетная мера — установить исправленное ядро от поставщика. Если Open vSwitch не используется, следует запретить будущую загрузку модуля. Уже загруженный модуль потребуется удалить либо очистить из памяти перезагрузкой.
Отключение непривилегированных user namespace закрывает путь для обычного локального пользователя, но не защищает от контейнера или процесса, который уже располагает CAP_NET_ADMIN в контролируемом сетевом namespace. Опубликованный PoC разрушителен: он изменяет sudoers, открывает root-оболочку и оставляет процессы и состояние OVS без безопасного завершения. Для бизнеса практический вывод однозначен: проверить ядра по бюллетеню поставщика, обновить общие хосты в первую очередь и отключить Open vSwitch там, где он не нужен.

