
# cve-2025-32463 - Повышение локальных привилегий до root через sudo chroot в Linux
sudo chroot <dir name> <command>
Выполняет команду command в выбранном каталоге dir name.
Эта проблема была внесена в sudo v1.9.14 — в этой версии был обновлён код обработки сопоставления при использовании функции chroot.

Это изменение приводит к изменению id корневого каталога перед операцией сопоставления при выполнении команды chroot. Конкретные функции определены в plugins/sudoers/pivot.c. В этом файле (ныне удалённом) определены функции pivot_root() и unpivot_root(), используемые для обработки логики сопоставления chroot. Вызов этих двух функций запускает операцию переключения службы имён (NSS), из-за чего система загружает файл конфигурации /etc/nsswitch.conf из недоверенного окружения (поскольку chroot уже изменил id текущего корневого каталога). Этот конфигурационный файл содержит директивы, указывающие системе, как получать информацию о пользователях, группах и хостах; в нём может быть перечислено несколько источников, которые ищутся по порядку, пока не будет найдено совпадение.
Поскольку /etc/nsswitch.conf содержит множество строк, при поиске информации порядок поиска определяется порядком строк. Ключевой момент уязвимости: при поиске источника в файле nsswitch.conf имя источника используется как часть пути к общему объекту. Например, источник ldap преобразуется в libnss_ldap.so. Когда функции NSS используют источник ldap, эта библиотека загружается.
Для атакующего вызов pivot_root() и unpivot_root() запускает операции NSS. Поэтому атакующий может по контролируемому пути создать корневой каталог chroot, содержащий файл /etc/nsswitch.conf и вредоносные файлы библиотек. Служба имён может указывать на пользовательский модуль NSS, в котором можно разместить вредоносную общую библиотеку.
Когда атакующий запускает sudo -R <fake_root_dir> <command>, пытаясь выполнить команду в режиме chroot, sudo ещё до полной проверки прав вызывает системный NSS для разрешения информации о пользователях/группах, читает поддельный /etc/nsswitch.conf, указывающий на вредоносный модуль NSS. В этот момент процесс sudo уже переключён в поддельный корневой каталог и по-прежнему работает с правами root, поэтому он загружает и выполняет код вредоносной общей библиотеки атакующего с правами root.
git clone https://github.com/Spongebob-369/cve-2025-32463.git
cd cve-2025-32463
chmod +x run.sh
./run.sh
# after entering the contain Ubuntu
./sudo-chroot.sh
id