Агенты искусственного интеллекта нашли 19-летнюю root-уязвимость в ядре Linux.




Сотрудник службы безопасности SpaceX по имени Асим Вилади Оглу Манизада обнаружил уязвимость в ядре Linux, с помощью которой злоумышленники в зависимости от конфигурации могут получить права root. Согласно сообщению в блоге исследователя (открывается в новом окне), брешь была обнаружена с помощью ИИ-агентов. Однако уязвимого ядра самого по себе, вероятно, недостаточно для эксплуатации уязвимости. Должны быть выполнены и другие условия.

По имеющимся данным, причина уязвимости, получившей название CIFSwitch, кроется в интерфейсе между модулем CIFS (открывается в новом окне) (Common Internet File System) ядра и хелпером пользовательского пространства, предоставляемым cifs-utils (открывается в новом окне), который используется в Linux-системах для аутентификации Kerberos.

Согласно отчету, ядро некорректно проверяет происхождение объектов ключей cifs.spnego. Таким образом, из недоверенного пользовательского пространства можно вызвать системные вызовы request_key() с поддельным описанием ключа, при обработке которых система ошибочно предполагает, что они исходят от модуля ядра.

Ошибка в ядре существует с 2007 года

При стечении ряда других обстоятельств эту ошибку можно использовать на многих Linux-системах для повышения привилегий до root. Более подробные сведения об этом можно найти в сообщении в блоге Манизады (открывается в новом окне). Предварительно требуются только простые права пользователя. Лежащая в основе ошибка ядра, как сообщается, существует с 2007 года, то есть ей около 19 лет.

Однако помимо уязвимости в ядре, CIFSwitch также требует уязвимой версии cifs-utils. Уязвимый код, вероятно, присутствует во всех версиях, начиная с 6.14. По словам исследователя, более старые версии также могут быть уязвимы, если проблемные фрагменты кода были добавлены в них задним числом через бэкпорты. Определенные политики SELinux и Apparmor также могут блокировать атаки CIFSwitch.

Разнородная уязвимость

Таким образом, в зависимости от конфигурации не каждый дистрибутив Linux уязвим «из коробки». Однако, по словам исследователя, по меньшей мере Linux Mint 21.3 и 22.3, CentOS Stream 9, Rocky Linux 9, AlmaLinux 9.7 и несколько версий Kali Linux и Suse Linux Enterprise Server уязвимы в стандартной конфигурации.

С другой стороны, Opensuse Leak 15.6, Rocky Linux 8, Amazon Linux 2023, Debian 11–13, а также Ubuntu 18.04, 20.04, 22.04 и 24.04 считаются уязвимыми только в том случае, если cifs-utils был установлен вручную. В то же время в CentOS Stream 10, Opensuse Leap 16, AlmaLinux 10.1, Rocky Linux 10, Ubuntu 26.04 и Fedora 40–44 эксплуатация CIFSwitch, как ожидается, будет заблокирована «из коробки», даже если cifs-utils присутствует.

Патч доступен, распространение неясно

Список (открывается в новом окне) всех Linux-дистрибутивов, которые, по текущим данным, являются уязвимыми, а также необходимых для атаки условий, можно найти в блоге Манизады. Также уже существует патч для ядра (открывается в новом окне), который закрывает эту брешь. Поскольку для CIFSwitch еще нет идентификатора CVE, в настоящее время трудно отследить, в какие дистрибутивы этот патч уже был включен.

Манизада также упоминает в своем блоге несколько альтернативных обходных путей. Соответственно, помогает также блокировка модуля ядра CIFS или удаление cifs-utils, если соответствующие компоненты не нужны. Проверить, уязвима ли Linux-система или эффективны ли принятые меры защиты, можно с помощью proof-of-concept эксплойта, опубликованного на Github (открывается в новом окне).