OVSwrap: уязвимость в ядре Linux даёт локальным пользователям root через Open vSwitch
Исследователь безопасности Асим Манизада 28 июля 2026 года раскрыл уязвимость в ядре Linux, получившую идентификатор CVE-2026-64531 (CVSS 7.8) и кодовое имя OVSwrap. Ошибка позволяет непривилегированному локальному пользователю повысить свои права до root.
Где скрывается баг
Проблема находится не в пользовательском демоне ovs-vswitchd, а в самом datapath Open vSwitch внутри ядра. По словам автора, для атаки не нужны ни существующий OVS-мост, ни запущенный демон, ни привилегия CAP_NET_ADMIN на уровне хоста. Если в системе доступен модуль ядра OVS и включены непривилегированные пространства имён, пользователь командой unshare -Urn создаёт собственные namespace, получает CAP_NET_ADMIN внутри них и добирается до уязвимого кода установки потоков. При этом даже пустой вывод lsmod не гарантирует безопасности: обращение к семейству Generic Netlink может автоматически подгрузить модуль.
Тринадцатилетняя ошибка, которую разбудили
OVS хранит сгенерированные действия как атрибуты Netlink, где поле длины nla_len шириной 16 бит ограничивает вложенный атрибут 65 535 байтами. Небезопасное присваивание существовало 13 лет, но ограничение общего потока действий в 32 КиБ удерживало значение ниже точки переполнения. В марте 2025 года этот предел убрали — он вызывал непредсказуемые сбои, в том числе в крупных развёртываниях OpenStack, — и старая ошибка усечения вышла на свет. В обсуждении правки говорили о надёжности, но не о последствиях для безопасности.
Атакующий отправляет действие CLONE с сотнями conntrack-подпунктов; на x86-64 ядро разворачивает каждый до 164 байт, и суммарная длина переполняет 16-битное поле. Дальнейший код доверяет обёрнутому значению и продолжает разбор внутри данных, контролируемых атакующим, где уже подготовлены поддельные действия OVS. Манизада назвал результат уязвимостью с «надёжностью уровня логической ошибки».
Масштаб и защита
Опубликованный PoC включает записи примерно для 800 конкретных сборок ядра x86-64 и намеренно деструктивен: он портит учётные данные ядра, правит /etc/sudoers и открывает root-шелл. В тестовой матрице автора уязвимыми при настройках по умолчанию оказались AlmaLinux 9 и 10, Alpine, Amazon Linux 2023, Arch, CentOS Stream, Debian 12 и 13, Fedora 42–44, Gentoo, Kali, Linux Mint, NixOS, openSUSE Tumbleweed, Rocky Linux и Ubuntu 22.04. На Ubuntu 24.04 путь блокировал AppArmor, но обходился через aa-exec. Более старые системы вроде Debian 11 и Ubuntu 20.04 затронуты не были.
Исправление вошло в стабильные ветки 24 июля; первые исправленные выпуски — 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.40 и 7.1.5. Где обновлённого ядра пока нет, а Open vSwitch не нужен, рекомендуется заблокировать загрузку модуля через /etc/modprobe.d. Как отмечает CloudLinux, особенно опасна ситуация с общими хостами: OVSwrap превращает компрометацию одного аккаунта в захват всего сервера.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.