Ошибки в Linux-реализации QoS позволяют локально повысить права до root

Ошибки в Linux-реализации QoS позволяют локально повысить права до root

Ошибки в Linux-реализации QoS позволяют локально повысить права до root

В подсистеме Linux, отвечающей за управление трафиком, выявлены две уязвимости, позволяющие локальному пользователю поднять свои привилегии в системе. Для предотвращения эксплойта в ядро ветки 6.2 внесены изменения; проверка дистрибутивов уже запущена, результаты доступны на сайтах проектов.

Обе уязвимости, по словам автора находок, классифицируются как использование освобожденной памяти, use-after-free. Проблемным оказался код классификатора трафика tcindex, входящего в состав QoS. (Эта служба позволяет приоритезировать трафик при ограниченной пропускной способности и свести к минимуму задержки по сети.)

Уязвимость CVE-2023-1281, привнесенная в Linux с выпуском сборки 4.14, проявляется при обновлении несовершенных хеш-фильтров; причиной появления ошибки use-after-free является состояние гонки. Проблема CVE-2023-1829 более давняя, она возникает при удалении оптимального хеш-фильтра и грозит повышением привилегий до root.

Эксплойт возможен при наличии прав CAP_NET_ADMIN, позволяющих получить разрешение на создание и изменение классификаторов трафика. Такой набор прав можно получить, когда имеется возможность создавать пространства имен идентификаторов пользователя (user namespace).

Степень опасности угрозы в обоих случаях оценена в 7,8 балла CVSS. Уязвимости устранены в Linux-ветке 6.2 (комменты ee059170b1f7e94e55fa6cadee544e176a6e59c2 и 8c710f75256bb3cf05ac7b1672c82b92c43f3d28, патч для CVE-2023-1829 бэкпортирован). В качестве временной меры можно отключить возможность создания user namespace непривилегированными пользователями (sudo sysctl -w kernel.unprivileged_userns_clone=0).

Android запретит доступ к экрану «лишним» приложениям

Google, похоже, готовит ещё одно нововведение по части безопасности Android. В тестовой сборке Android Canary 2602 обнаружена новая функция для Advanced Protection Mode — режима «максимальной защиты», который компания представила в Android 16.

Теперь Advanced Protection Mode может ограничивать работу приложений, использующих AccessibilityService API, если они не классифицированы как инструменты для доступности.

AccessibilityService API — это мощный механизм Android, изначально созданный для помощи людям с ограниченными физическими возможностями. С его помощью приложения могут читать содержимое экрана, отслеживать действия пользователя и даже выполнять жесты от его имени.

Именно поэтому этот API часто становился инструментом атакующих. За последние годы многие приложения — от автоматизаторов и лаунчеров до «оптимизаторов» и антивирусов — использовали его для обхода системных ограничений. Формально ради удобства, однако на деле получая очень широкие права.

Google постепенно ужесточала политику. Приложения, действительно предназначенные для помощи людям с ограниченными возможностями, должны указывать специальный атрибут isAccessibilityTool. К ним относятся экранные дикторы, системы управления жестами, голосовой ввод, брайлевские интерфейсы и другие специализированные инструменты.

По данным аналитиков, в новой версии Android Canary  при включении Advanced Protection Mode система:

  • запрещает выдавать разрешение Accessibility Service приложениям, не признанным Accessibility Tools;
  • автоматически отзывает уже выданные разрешения у таких приложений.

Если приложение сильно зависит от этого API, оно просто перестанет работать.

В тестах, например, приложение dynamicSpot (эмулирующее Dynamic Island на Android) становилось недоступным: пункт был с пометкой «Restricted by Advanced Protection». Причина простая: оно использует AccessibilityService для чтения уведомлений и отображения поверх других приложений.

Инструменты, официально классифицированные как средства доступности, под ограничения не попадают.

RSS: Новости на портале Anti-Malware.ru