Ошибки в 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).

Подписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.