Вразливості CrackArmor в коді AppArmor для ядра Linux
Qualys виявила кілька вразливостей у коді AppArmor ядра Linux. Ці уразливості отримали назву CrackArmor, а ідентифікаційні номери CVE ще не призначені. Всі вразливості вимагають доступу з боку неправа користувача. Вплив цих вразливостей варіюється від відмови в обслуговуванні до витоку інформації з пам’яті ядра, видалення заходів безпеки та локального підвищення привілеїв до користувача root. Різні випуски Ubuntu підлягають різному впливу, про що детально йдеться в наступних секціях.
Виправлення для ядра Linux для підтримуваних випусків Ubuntu надає команда Canonical Kernel. Крім того, наша команда з безпеки надала міри пом’якшення для користувачів у вигляді оновлень безпеки для всіх уражених випусків Ubuntu. Рекомендуємо застосувати як міри пом’якшення для користувачів, так і оновлення безпеки ядра Linux.
AppArmor є Модулем Безпеки Лінукс (MAC), який забезпечує додатковий рівень безпеки на системах Ubuntu та доповнює традиційну модель Дискретного Контролю Доступу (DAC). Крім того, що AppArmor увімкнено за замовчуванням на випусках Ubuntu, його також використовують інші дистрибутиви Linux.
Анотація вразливостей
Цей блог надає підсумок про виявлені уразливості безпеки в коді ядра AppArmor Linux і застосунку sudo, а також небезпечну поведінку у програмі su, що сприяє експлуатації уразливостей ядра AppArmor. Наступна таблиця містить підсумок проблем:
| Пакет | Опис | CVE IDs |
| linux | Усі вразливості AppArmor знаходяться в ядрі Linux. У сценаріях хост-деплойменту вони залежать від основної проблеми “заплутаного заступника”, що є однією з вразливостей AppArmor.
Оновлення безпеки доступні для деяких уражених випусків. |
CVE поки не призначено. Вони називаються CrackArmor. Відстежується як Launchpad Bug #2143853 |
| sudo sudo-ldap |
Утиліта sudo має вразливість, яка може призвести до локального підвищення привілеїв у сценаріях хост-деплойменту, коли комбінується з іншими вразливостями, описаними тут.
Оновлення безпеки доступні для всіх уражених випусків. |
CVE не призначено, стежиться як Launchpad Bug #2143042 |
| util-linux | Утиліта su в пакеті util-linux демонструє небезпечну поведінку, яка сприяє експлуатації вразливостей AppArmor у сценаріях хост-деплойменту.
Оновлення безпеки, які зміцнюють утиліту su, доступні для всіх уражених випусків. |
Це не вразливість, тому вона не отримає ідентификатор CVE. Відстежується як Launchpad Bug #2143850 |
Стаття бази знань про вразливості містить детальний опис вразливостей, а також міри пом’якшення, надані через оновлення безпеки.
Сценарії впливу/оцінка
Деплойменти без контейнерних навантажень
Експлуатація на хостах без контейнерних навантажень вимагає співпраці привілейованого застосунку (наприклад, двійкового файлу setuid). Наявність системи оркестрації контейнерів без запущених контейнерів сама по собі не створює можливості для експлуатації. Команда Qualys виявила, що поведінка утиліти su дозволяє експлуатацію. Це можна активувати тільки неправа користувачами, які мають встановлене паролі – неправа системні користувачі не можуть успішно викликати su без доступу до пароля облікового запису і, отже, не можуть активувати вразливості. За відсутності такого співпраці привілейованого застосунку вразливості можуть активуватися тільки привілейованим користувачем (root).
Qualys виявила не пов’язану вразливість у sudo, яку можна активувати через функцію сповіщень електронної пошти. Ця вразливість дозволяє локальне підвищення привілеїв, якщо поєднено з вразливостями AppArmor та привілейованим застосунком su. sudo-rs, переписаний на Rust і доступний за замовчуванням в Ubuntu Questing Quokka (25.10) та пізніше, не підлягає впливу через рішення дизайну не надсилати сповіщення електронною поштою.
Команда безпеки Ubuntu підготувала оновлення безпеки для обох утиліт su (в пакеті util-linux) та sudo. Патч безпеки су слід розглядати як міру пом’якшення, тому ми наполегливо рекомендуємо також застосувати оновлення безпеки ядра Linux якомога швидше.
Контейнерні деплойменти
У контейнерних деплойментах, де можуть виконуватись потенційно-шкідливі образи контейнерів, вразливості ядра AppArmor можуть бути експлуатовані без необхідності у співпраці з привілейованим користувацьким застосунком. Це теоретично може дозволити сценарії втечі з контейнера, хоча на момент написання це ще не було практично продемонстровано.
Команда безпеки Ubuntu наполегливо рекомендує застосувати оновлення безпеки ядра Linux як єдине доступне рішення.
Наступні секції пояснюють, як різні випуски Ubuntu підлягають впливу, а також відповідні виправлення чи пом’якшення.
Оновлення безпеки ядра Linux
Оновлення безпеки ядра Linux адресують усі вразливості AppArmor, виявлені Qualys.
Усі підтримувані випуски Ubuntu підлягають впливу з боку основної вразливості “заплутаного заступника”. Комбінація вразливостей, які дозволяють локальне підвищення привілеїв та сценарії втечі з контейнера, відсутня в Trusty Tahr (14.04 LTS) або Xenial Xerus (16.04 LTS).
Як перевірити, чи ви підлягаєте впливу
На вашій системі виконайте таку команду, щоб отримати версію поточного ядра та порівняти зазначену версію зі відповідною таблицею нижче.
uname -r
Список встановлених пакетів ядра можна отримати за допомогою наступної команди:
dpkg -l 'linux-image*' | grep ^ii
Ви можете порівняти версію конкретного різновиду ядра, який у вас встановлений, з таблицею версій, доступною у статті бази знань про вразливості.
Як усунути
Рекомендуємо вам оновити всі пакети:
sudo apt update && sudo apt upgrade
Якщо це не можливо і ядро Linux встановлено через мета пакет, його оновлення можна націлити безпосередньо:
sudo apt updatedpkg-query -W -f '${source:Package}\t${binary:Package}\n' | awk '$1 ~ "^linux-meta" { print $2 }' | xargs sudo apt install --only-upgrade
Після встановлення оновлень безпеки ядра Linux необхідно перезавантажити:
sudo reboot
Функція unattended-upgrades увімкнена за замовчуванням для Ubuntu Xenial Xerus (16.04 LTS) та пізніше. Ця служба:
- Автоматично застосовує нові оновлення безпеки кожні 24 години.
- Якщо ви це увімкнули, вищезазначені патчі будуть автоматично застосовані протягом 24 годин після їх доступності, але перезавантаження все ще буде необхідним.
Оновлення безпеки sudo
Оновлення безпеки пакету sudo адресують непов’язану вразливість sudo, яка може бути поєднана з вразливістю AppArmor для полегшення локального підвищення привілеїв.
Як перевірити, чи ви підлягаєте впливу
Щоб отримати версію встановленого пакету sudo, виконайте наступну команду:
dpkg -l 'sudo*' | grep ^ii
Наступна таблиця містить версії пакету sudo, які були виправлені у всі підтримуваних випусках Ubuntu:
| Випуск | Пакет | Виправлена версія |
| Questing Quokka (25.10) | sudo | 1.9.17p2-1ubuntu1.1 |
| sudo-ldap | 1.9.17p2-1ubuntu1.1 | |
| sudo-rs | Не підлягає впливу | |
| Noble Numbat (24.04 LTS) | sudo | 1.9.15p5-3ubuntu5.24.04.2 |
| sudo-ldap | 1.9.15p5-3ubuntu5.24.04.2 | |
| Jammy Jellyfish (22.04 LTS) | sudo | 1.9.9-1ubuntu2.6 |
| sudo-ldap | 1.9.9-1ubuntu2.6 | |
| Focal Fossa (20.04 LTS) | sudo | Не підлягає впливу |
| sudo-ldap | Не підлягає впливу | |
| Bionic Beaver (18.04 LTS) | sudo | Не підлягає впливу |
| sudo-ldap | Не підлягає впливу | |
| Xenial Xerus (16.05 LTS) | sudo | Не підлягає впливу |
| sudo-ldap | Не підлягає впливу | |
| Trusty Tahr (14.04 LTS) | sudo | Не підлягає впливу |
| sudo-ldap | Не підлягає впливу |
Як усунути
Рекомендуємо вам оновити всі пакети:
sudo apt update && sudo apt upgrade
Якщо це не можливо, користувальницькі міри пом’якшення sudo можна встановити безпосередньо, і для їх застосування не потрібно перезавантаження:
sudo apt updatesudo apt install sudo
Функція unattended-upgrades увімкнена за замовчуванням для Ubuntu Xenial Xerus (16.04 LTS) та пізніше. Ця служба:
- Автоматично застосовує нові оновлення безпеки кожні 24 години.
- Якщо ви це увімкнули, патчі вищезазначені будуть автоматично застосовані протягом 24 годин після їх доступності.
Оновлення безпеки util-linux
Оновлення безпеки пакету util-linux зміцнюють утиліту su, щоб уникнути її використання для експлуатації вразливостей AppArmor.
Як перевірити, чи ви підлягаєте впливу
Щоб отримати версію встановленого пакету util-linux, виконайте наступну команду:
dpkg -l util-linux
Наступна таблиця містить версії пакету util-linux, які були виправлені у всі підтримувані випусках Ubuntu:
| Випуск | Пакет | Виправлена версія |
| Questing Quokka (25.10) | util-linux | 2.41-4ubuntu4.2 |
| Noble Numbat (24.04 LTS) | util-linux | 2.39.3-9ubuntu6.5 |
| Jammy Jellyfish (22.04 LTS) | util-linux | 2.37.2-4ubuntu3.5 |
| Focal Fossa (20.04 LTS) | util-linux | 2.34-0.1ubuntu9.6+esm1 |
| Bionic Beaver (18.04 LTS) | util-linux | Не підлягає впливу |
| Xenial Xerus (16.05 LTS) | util-linux | Не підлягає впливу |
| Trusty Tahr (14.04 LTS) | util-linux | Не підлягає впливу |
Як усунути
Рекомендуємо вам оновити всі пакети:
sudo apt update && sudo apt upgrade
Якщо це не можливо, користувальницькі міри пом’якшення util-linux можна встановити безпосередньо, і для їх застосування не потрібно перезавантажування:
sudo apt updatesudo apt install util-linux
Функція unattended-upgrades увімкнена за замовчуванням для Ubuntu Xenial Xerus (16.04 LTS) та пізніше. Ця служба:
- Автоматично застосовує нові оновлення безпеки кожні 24 години.
- Якщо ви це увімкнули, патчі вищезазначені будуть автоматично застосовані протягом 24 годин після їх доступності.
Вдячність
Ми хотіли б подякувати Qualys за їх відмінні доповіді та за співпрацю з командою AppArmor, командою Canonical Kernel, командою безпеки Ubuntu, командою безпеки ядра Linux та іншими дистрибутивами Linux у рамках координованого розкриття уразливостей.
Зв’яжіться з нами сьогодні
Вас цікавить запуск Ubuntu у вашій організації?