Раскрыта информация об уязвимости (CVE-2026-43499) в ядре Linux, получившей кодовое имя GhostLock и позволяющая непривилегированному локальному пользователю получить права root в системе, а также выйти из изолированных контейнеров. При использовании в сочетании с другими уязвимостями в браузерах, выявленная проблема может применяться для удалённого выполнения кода с правами root при открытии специально оформленной web-страницы. Проблема проявляется начиная с ядра Linux 2.6.39 (2011 год).
Утверждается, что уязвимость может быть эксплуатиована во всех дистрибутивах, выпущенных за последние 15 лет. Имеется рабочий эксплоит, создатели которого получили от Google премию в $92337 за успешное повышение привилегий в окружении с ядром KernelCTF (Capture the Flag), включающем дополнительные патчи для блокирования типовых методов работы эксплоитов. Степень успешности работы эксплоита оценивается в 97%. Уязвимость выявлена при помощи AI-инструментария VEGA.
Патч с исправлением принят в кодовую базу ядра 21 апреля и вошёл в состав выпусков ядра 7.1.0, 6.18.36, 6.12.95, 6.6.144 и 6.1.177. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, AlmaLinux, Gentoo, Arch, Fedora. Обходные пути блокирования проблемы отсутствуют.
Уязвимость присутствует в реализации блокировок futex и вызвана обращением к памяти после её освобождения, возникающем при работе механизма наследования приоритетов, предотвращающем инверсию приоритетов (блокировка высокоприоритетной задачи из-за ожидания освобождения ресурса, занятого низкоприоритетной задачей). В ситуации, когда установка блокировки завершается ошибкой, ядро откатывает состояние и вызывает функцию очистки. При определённом стечении обстоятельств функция очистки вызывается не в тот момент и освобождает структуру данных другой задачи, после чего остаётся висячий указатель (dangling pointer), ссылающийся на уже освобождённую память.
Эксплуатация уязвимости сводится к созданию условий для возникновения висячего указателя, используя только доступные пользователю системные вызовы для работы с потоками, реализации примитива для записи при помощи висячего указателя в произвольную область памяти ядра и применения этого примитива для подстановки перехода в таблицу функций ядра для перехвата потока управления.
В предложенном эксплоите осуществляется перезапись указателя в таблице функций inet6_protos[IPPROTO_UDP], после чего на loopback-интерфейс по IPv6 отправляется UDP-пакет, при обработке которого осуществляется вызов обработчика, указатель на который был подменён на прошлом этапе. Для получения root-доступа получивший управление код эксплоита прописывает в /proc/sys/kernel/core_pattern свой обработчик, вызываемый с правами root при крахе процессов.
Помимо рассмотренной проблемы в ядре Linux выявлено ещё несколько опасных уязвимостей:
- Januscape (CVE-2026-53359) — обращение к памяти после её освобождения (use-after-free) в компонентах гипервизора KVM, выполняемых на стороне виртуальной машины для эмуляции блока управления памятью (MMU) и трансляции адресов между хостом и гостевой системой. Уязвимость проявляется на системах с процессорами Intel и AMD и позволяет получить доступ с правами root к хост-окружению при наличии доступа с правами root в гостевой системе.
Для загрузки доступен прототип экспоита, повреждающий содержимое структуры данных на стороне хост-системы, применяемой при трансляции адресов. Опубликованный эксплоит приводит к аварийному завершению хост-системы, но по заявлению выявившего проблему исследователя, он также создал эксплоит для выполнения кода на стороне хост-окружения с правами root, но пока не публикует его, чтобы дать время на установку обновлений.
Проблема вызвана ошибкой, допущенной 16 лет назад, и устранена в обновлениях 7.1.3, 6.18.38, 6.12.95, 6.6.144 и 6.1.177. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. За выявление уязвимости исследователь получил от Google вознаграждение в 250 тысяч долларов в рамках инициативы kvmCTF.
Для выхода из гостевой системы на серверах на процессорами ARM64 тем же исследователем выявлена другая уязвимость ITScape (CVE-2026-46316), вызванная состоянием гонки в коде эмуляции vGIC-ITS (Interrupt Translation Service) в KVM. Для данной проблемы также опубликован прототип эксплоита.
- Bad Epoll (CVE-2026-46242) — состояние гонки, приводящее к обращению к памяти после её освобождения, в подсистеме ядра epoll. Уязвимость позволяет локальному непривилегированному пользователю выполнить код с правами root. Проблема примечательна тем, что даёт возможность атаковать не только классические Linux-дистрибутивы, но и прошивки на базе платформы Android, а также не блокируется sandbox-изоляцией в Chrome. Рабочий эксплоит был продемонстрирован на соревновании kernelCTF (Google выплатил автору $71337). Надёжность работы эсплоита оценена в 99%.
المشكلة تبدأ من النواة Linux 6.4 (2023 год). О проблеме было сообщено разработчикам ядра 17 февраля, но исправление удалось разработать после нескольких неудачных попыток только 24 апреля. Проблема устранена в ядрах 6.18.24, 6.12.83, 6.6.136. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu، SUSE/openSUSE، RHEL، Gentoo، Arch، Fedora.
- CVE-2026-46215 — обращение к памяти после её освобождение в реализации ioctl DRM_IOCTL_GEM_CHANGE_HANDLE в подсистеме DRM (Direct Rendering Manager). Локальный пользователь, имеющий доступ к устройствам /dev/dri/renderD* (сервис systemd-logind предоставляет доступ всем пользователям при запуске графического сеанса во всех крупных дистрибутивах), может получить права root в системе. Имеется эксплоит. Проблема проявляется начиная с ядра 6.18 и устранена в обновлениях 7.0.9 и 6.18.32. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu، SUSE/openSUSE، RHEL، Gentoo، Arch، Fedora.
المصدر: opennet.ru
