Обновление ядра Linux закрывает опасную уязвимость локального повышения привилегий, по которой уже опубликован публичный эксплойт. Проблеме присвоен идентификатор CVE-2026-46215 и оценка 7,8 балла по шкале CVSS 3.1. Уязвимость затрагивает версии ядра с 6.18 по 6.18.32 (исключая 6.18.32) и с 7.0 по 7.0.9 (исключая 7.0.9). Разработчики выпустили исправление, и системные администраторы обязаны установить его без промедления.
Уязвимость CVE-2026-46215
Корень проблемы - состояние гонки (race condition) в подсистеме Direct Rendering Manager (DRM) ядра. При обработке ioctl-вызова change_handle возникает ситуация, при которой один объект памяти временно ассоциирован с двумя дескрипторами (handle) в таблице идентификаторов. Если в этот промежуток времени другой поток вызовет gem_close, объект может быть удалён, а один из дескрипторов останется висеть. Последующая попытка обращения к нему приводит к обращению к уже освобождённой памяти (use-after-free). Злоумышленник с локальным доступом к системе способен эксплуатировать эту ошибку для выполнения произвольного кода с правами суперпользователя.
Исправление повторяет подход, уже применённый в функции gem_close: сначала дескриптор подменяется на NULL вызовом idr_replace, а затем, после успешного выполнения операций с буферами, производится окончательное закрытие. Таким образом устраняется окно, в котором два дескриптора указывают на один объект. Аналогичные меры ранее были внедрены для функции create_tail, чтобы избежать схожей проблемы.
Уязвимость подтверждена ведущими дистрибутивами Linux. Debian, Red Hat, SUSE и Ubuntu уже выпустили обновления, закрывающие CVE-2026-46215. Пользователям рекомендуется связаться с поставщиком используемой сборки и установить исправленную версию ядра. Для Debian это обновление доступно через security-tracker, для Red Hat - через базу Red Hat CVE, для SUSE и Ubuntu - через их официальные бюллетени. Вне зависимости от дистрибутива, необходимо обновить пакет ядра до версии 6.18.32 или 7.0.9 (либо новее), если система работает на одном из затронутых релизов.
Опасность ситуации усугубляется тем, что доказательный код эксплуатации (PoC) уже опубликован в открытом доступе. Это означает, что скомпрометировать систему могут не только опытные исследователи, но и менее квалифицированные злоумышленники. Атака требует локального доступа - например, возможности выполнять код в контейнере или на виртуальной машине, а также на многопользовательской машине через обычную учётную запись. В корпоративных средах с высокой плотностью контейнерных нагрузок или общих хостингов данная уязвимость представляет собой прямой путь к эскалации прав до уровня root, что может привести к полной компрометации узла.
Поскольку патч уже включён в стабильные ветки ядра, администраторам достаточно выполнить штатную процедуру обновления. Если по каким-то причинам немедленный переход на новую версию невозможен, рекомендуется ограничить доступ к системе для непривилегированных пользователей и проверить настройки модулей безопасности (SELinux, AppArmor). Однако эти меры лишь снижают поверхность атаки, но не устраняют саму уязвимость. Полноценная защита возможна только после установки патча.
В последнее время участились случаи обнаружения локальных уязвимостей в ядре, особенно в подсистемах управления памятью и драйверах. CVE-2026-46215 - очередной пример того, как даже небольшой временной разрыв между операциями с дескрипторами может привести к критическому нарушению безопасности. Разработчики ядра оперативно реагируют на такие проблемы, но ответственность за своевременное применение исправлений лежит на администраторах. Тем, кто ещё не обновил свои системы до версий, в которых проблема устранена, следует сделать это незамедлительно.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-46215
- https://security-tracker.debian.org/tracker/CVE-2026-46215
- https://access.redhat.com/security/cve/cve-2026-46215
- https://www.suse.com/security/cve/CVE-2026-46215.html
- https://ubuntu.com/security/CVE-2026-46215