Спецпроекты

Безопасность Администратору Пользователю Техника

В ядре Linux нашлась «дыра», через которую злоумышленники уже 9 лет получают root-доступ

Выявленная в конце апреля уязвимость уже обозначена CISA как активно эксплуатируемая; рабочий эксплойт занимает всего 732 байта и позволяет получить root-доступ практически на любой сборке Linux после 2017 г.

Коммиты на подозрении

Агентство по защите инфраструктуры и кибербезопасности США (CISA) обозначила уязвимость, допускающую повышение привилегий в ядре Linux, как активно эксплуатируемую. Уязвимость присутствовала в ядре Linux с 2017 г. и, как утверждают эксперты компании Kaspersky, позволяла получить root-полномочия практически на любой современной сборке Linux.

«Баг», отслеживаемый как CVE-2026-31431, получил также неофициальное название Copy Fail: такие «имена собственные» присваиваются только особенно выдающимся уязвимостям.

«Предположительно, корень проблемы – коммит 72548b093ee3, добавленный в ядро Linux в 2017 г. Он внедрил поддержку операций «на месте» (in-place) для AEAD-шифрования в модуле algif_aead, что привело к дефекту обработки буферов. Таким образом, уязвимость затрагивает ядра, выпущенные в период с 2017 по 2026 гг. Под угрозой находятся как устаревшие серверные конфигурации, так и актуальные дистрибутивы: Ubuntu, RHEL, отдельные сборки WSL2 и другие системы с загруженным модулем algif_aead», - говорится в публикации Kaspersky.

Активно эксплуатируемая уяхвимость позволяет получить root-доступ практически на любой сборке Linux после 2017 года

Другие источники указывают, что речь может идти не об одном коммите, а сразу о трёх, внедрённых в ядро в 2011, 2015 и 2017 годах.

Оценка угроз по шкале CVSS при этом составила 7,8 балла из 10, что соответствует высокоопасному, но не критическому уровню.

Это может быть связано с тем, что для эксплуатации Copy Fail требуется локальный доступ. Впрочем, в комбинации с уязвимостями, обеспечивающими удалённый доступ, это ограничение роли не играет.

Подмена кэша

Суть уязвимости, по версии Kaspersky, состоит в следующем.

Криптографический алгоритм ядра Linux authencesn в процессе работы использует часть выделенной памяти как временный буфер; четыре байта записываются напрямую в страницы файлового кэша (page cache). «Это дает злоумышленнику возможность контролируемо изменять содержимое кэша любого файла, доступного для чтения», - говорится в публикации.

Уже выявлен рабочий эксплойт, отличающийся крошечным размерам 732 байта.

Написанный на Python, эксплойт записывает четыре контролируемых байта в кэш исполняемого файла (например, с битом setupid). В результате код программы меняется прямо в оперативной памяти, и при следующем запуске она выполняет вредоносные действия с правами root. Файл на диске при этом остаётся неизменным.

Уязвимость представляет весьма существенную угрозу для контейнерных сред: по умолчанию технологии Docker, LXC и Kubernetes предоставляют процессам внутри контейнера доступ к подсистеме AF_ALG, если модуль algif_aead загружен в ядре хоста. А следовательно, Copy Fail создает риск выхода за пределы контейнерной среды и получения контроля над физическим хостом.

Провести атаку довольно просто, а вот обнаружить - нет: эксплойт использует легитимные системные вызовы, которые сложно отличить от штатной работы приложений.

С другой стороны, как отмечается в публикации Kaspersky, оригинальный эксплойт, оставляет видимые следы, в частности - командные строки, вызывающие привилегированные suid-утилиты: su, sudo, mount, umount, passwd, gpasswd, chfn, chsh, newgrp, fusermount3.

Также сигналом опасности будет любой процесс Python, запускающий системную Shell-оболочку.

В публикации на Securelist также приводятся рекомендации по настройке SIEM-системы для детектирования атак с использованием журналов событий auditd.

«Присвоенные уязвимости 7,8 балла CVSS впору умножать на последствия успешной эксплуатации, особенно в облачной или контейнерной средах, а также на количество дистрибутивов Linux, которые она затрагивает, - считает Михаил Зайцев, эксперт по информационной безопасности компании SEQ. - К тому же, учитывая, что уязвимость присутствовала в ядре около девяти лет, существует ненулевая вероятность, что о ней уже было известно киберкриминалу или спецслужбам, пусть подтверждения этому пока нет. В любом случае, всё, что CISA помечает как активно эксплуатируемое, нуждается в самых срочных обновлениях, вне зависимости от значения CVSS».

Проблема была устранена в обновлениях ядра Linux 6.18.22, 6.19.12 и 7.0. Обновления на конечные системы рекомендуется установить незамедлительно.

Роман Георгиев

Короткая ссылка