← Все новости

Уязвимости в AppArmor позволяют получить root-доступ

• Категория: Безопасность • Автор: Алексей Воронов • Проверил: Екатерина Морозова • 13.03.2026 13:53

Специалисты по информационной безопасности из Qualys обнаружили критическую серию из девяти уязвимостей в системе мандатного управления доступом AppArmor. Группа багов, получившая общее название CrackArmor, представляет серьезную угрозу для инфраструктуры на базе Linux: выявленные бреши позволяют локальному пользователю без специальных привилегий захватить права суперпользователя (root), выйти за пределы изолированных контейнеров и полностью нивелировать защитные механизмы, установленные профилями AppArmor. На текущий момент статус эксплуатации подтвержден для актуальных редакций Ubuntu 24.04 и Debian 13, при этом CVE-идентификаторы уязвимостям пока не присвоены.

Архитектура проблемы и охват систем

Корень проблемы кроется в LSM-модуле (Linux Security Module) AppArmor и прослеживается в коде ядра, начиная с версии 4.11, вышедшей еще в 2017 году. В зону риска попадают практически все популярные дистрибутивы, использующие AppArmor по умолчанию или в качестве опции, включая Ubuntu, Debian, openSUSE и SUSE. Хотя в последних версиях корпоративных решений SUSE приоритет отдан SELinux, поддержка AppArmor сохраняется, что оставляет вектор атаки открытым.

Разработчики ядра уже подготовили исправления, которые войдут в состав релизов 6.18.18, 6.19.8, 6.12.77 и более ранних веток поддержки. Сообщество Ubuntu уже выпустило патчи не только для ядра, но и для вспомогательных утилит, таких как sudo и util-linux (su), которые могли быть использованы в цепочках атак. В Debian работа над устранением последствий CrackArmor находится на финальной стадии.

Механика атаки «обманутый посредник»

Фундаментальная ошибка в разработке AppArmor привела к возникновению уязвимости класса «confused deputy» (обманутый посредник). Проще говоря, система позволяет непривилегированным процессам манипулировать профилями защиты — загружать новые, заменять существующие или удалять их. Технически это реализуется через запись в псевдофайлы в директории /sys/kernel/security/apparmor/.

На практике это означает, что атакующий может «ослепить» защитные механизмы для критических сервисов, таких как cupsd или rsyslogd, или вызвать отказ в обслуживании (DoS), применив жесткие ограничивающие профили к системным компонентам. Кроме того, манипуляция профилями позволяет обходить ограничения пространств имен (namespaces), создавая собственные конфигурации для таких утилит, как /usr/bin/time, что открывает путь к созданию неконтролируемых пользовательских пространств имен.

Цепочки повышения привилегий через системные утилиты

Один из наиболее изящных сценариев атаки предполагает использование легитимных инструментов sudo и su. Подменяя профиль AppArmor для этих утилит, злоумышленник может заблокировать определенные системные вызовы. Если заблокировать операцию сброса привилегий (setuid или CAP_SETUID) для sudo, программа продолжит выполнение с правами root даже там, где должна была их понизить.

Эксплуатация усиливается через манипуляции с окружением. Например, при возникновении ошибки sudo пытается отправить почтовое уведомление администратору через /usr/sbin/sendmail. Если при этом подменить переменную окружения MAIL_CONFIG, можно заставить систему использовать фальшивые настройки Postfix и запустить произвольный обработчик (postdrop) с максимальными полномочиями в системе.

Уязвимости на уровне ядра: Race Condition и Use-After-Free

Помимо логических ошибок в управлении профилями, исследователи выявили классические баги в самом коде ядра. В процессе загрузки и замены данных профили сохраняются в структуре aa_loaddata, размещаемой в slab-кэше kmalloc-192. Из-за отсутствия должной синхронизации возникает состояние гонки (race condition), приводящее к двойному освобождению памяти (double free) или обращению к уже освобожденному участку (use-after-free).

Если коротко, это позволяет злоумышленнику взять под контроль освобожденную страницу памяти и перераспределить ее для других задач. В продемонстрированном векторе атаки этот метод использовался для маппинга содержимого файла /etc/passwd прямо в контролируемую область памяти, что позволило перезаписать хеш пароля root и получить полный контроль над операционной системой.

Теги: #уязвимости, #Linux, #безопасность, #AppArmor, #CrackArmor, #root-привилегии, #Qualys