Linux-системы получили локальную root-уязвимость в связке CIFS и cifs-utils

Linux-системы получили локальную root-уязвимость в связке CIFS и cifs-utils

Исследователь Асим Манизада раскрыл CIFSwitch - локальную уязвимость повышения привилегий в Linux, найденную с помощью LLM-инструментов для анализа сложных цепочек. Проблема возникает на стыке kernel CIFS и пользовательского helper-компонента cifs-utils и позволяет при определенных условиях получить root-доступ на системе.

Суть бага в том, что ядро до исправления не проверяло происхождение описания ключа cifs.spnego. Непривилегированный пользователь мог напрямую вызвать request_key() с поддельным описанием, после чего стандартное правило request-key запускало cifs.upcall от root. Helper принимал переданные поля как будто они пришли от kernel CIFS, хотя фактически ими управлял атакующий.

Критичными стали поля pid и upcall_target. Если передать upcall_target=app, cifs.upcall переключается в namespace процесса, указанного в pid. До окончательного сброса привилегий helper выполняет NSS lookup. В атакуемом mount namespace злоумышленник может подложить собственный nsswitch.conf и libnss-модуль, который будет загружен root-процессом. Так цепочка превращается в локальное повышение привилегий.

Уязвимость не является универсальной для всех Linux-систем. Для эксплуатации нужны уязвимая версия ядра, затронутая версия cifs-utils, возможность создавать user и mount namespaces без привилегий, а также политики SELinux или AppArmor, которые не блокируют цепочку. Среди проверенных систем штатно эксплуатируемыми названы, в частности, Linux Mint, CentOS Stream 9, Rocky Linux 9, Kali Linux, AlmaLinux 9 и SLES 15 SP7. Для Ubuntu, Debian, Pop!_OS и ряда других дистрибутивов эксплуатация возможна при установленном cifs-utils.

Патч уже опубликован и ожидается в stable-ветках ядра, а CVE на момент раскрытия еще не был назначен. До установки исправления снизить риск можно отключением загрузки модуля cifs, удалением cifs-utils, изменением правила cifs.spnego в request-key или запретом unprivileged user namespaces, если они не нужны в инфраструктуре.

похожие материалы

Стрелочка
Стрелочка
В ЕАЭС 15 октября провели первую пилотную перевозку с электронной накладной eCMR
В ЕАЭС 15 октября провели первую пилотную перевозку с электронной накладной eCMR

Эксперимент по внедрению электронных международных транспортных накладных (eCMR) в ЕАЭС выходит на новый этап: первой реальной пилотной перевозке с использованием цифрового документа дан старт сегодня, 15 октября, по маршруту Казахстан — Россия.

В криптокошельки Ledger внедряли шпионские чипы: компания остановила продажи в Азии после многомиллионных хищений
В криптокошельки Ledger внедряли шпионские чипы: компания остановила продажи в Азии после многомиллионных хищений

Производитель аппаратных криптокошельков Ledger приостановил продажи через авторизованных посредников в Юго-Восточной Азии и Гонконге после обнаружения модифицированных устройств со скрытыми электронными компонентами.