
Уязвимости в утилите sudo,
позволяющие получить права root в системе
[ more…] http://helpsoc.ru/sudo2025
В пакете sudo, применяемом для организации выполнения команд от имени других пользователей, выявлена уязвимость (CVE-2025-32463), позволяющая любому непривилегированному пользователю выполнить код с правами root, даже если пользователь не упомянут в конфигурации sudoers. Проблеме подвержены дистрибутивы, использующие файл конфигурации /etc/nsswitch.conf, например, возможность эксплуатации уязвимости продемонстрирована в Ubuntu 24.04 и Fedora 41.
Уязвимость проявляется в конфигурации по умолчанию и подтверждена в выпусках sudo с 1.9.14 по 1.9.17 (потенциально затрагивает все версии, начиная с 1.8.33). Проблема устранена в обновлении sudo 1.9.17p1. Проверить состояние новой версии пакета или подготовки исправления в дистрибутивах можно на следующих страницах (если страница недоступна, значит разработчики дистрибутива ещё не приступили к рассмотрению проблемы): Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo и Arch (1, 2).
Проблема вызвана тем, что при применении опции «-R» («—chroot») для запуска команд в chroot-окружении с выбранным пользователем корневым каталогом файл /etc/nsswitch.conf загружался в контексте нового корневого каталога, а не системного каталога.
Так как пользователь может использовать в качестве корневого каталога для chroot собственный каталог, он может разместить в нём файл конфигурации nsswitch.conf.
Контролируя загружаемый подсистемой NSS (Name Service Switch) файл /etc/nsswitch.conf, пользователь может добавить в него настройки, приводящие к вызову дополнительных обработчиков.
Подобные обработчики загружаются NSS в форме разделяемых библиотек, которые также можно разместить в подконтрольном пользователю каталоге.
Подставив свою библиотеку, пользователь может добиться выполнения из неё кода с правами root, так как обработка NSS производится до сброса привилегий.
В версии sudo 1.9.17p1 также устранена ещё одна уязвимость (CVE-2025-32462), позволяющая выполнить команды с правами root, но проявляющаяся только в конфигурациях sudoers, параметр «host» в которых выставлен в значение, отличное от ALL или имени текущего хоста. Уязвимость вызвана ошибкой, из-за которой опция «-h» («—host») действовала не только в сочетании с опцией «-l» («—list») для вывода привязанных к хосту привилегий, но и при запуске команд. Таким образом пользователь мог указать при вызове sudo любой хост и обойти ограничения правил sudoers, привязанных к имени хоста.
Для совершения атаки пользователь должен упоминаться в sudoers, например, если в настройках указано «testuser testhost = ALL», то пользователь «testuser» мог указать «sudo -h testhost» и запустить команды с правами root на любых хостах, а не только на хосте testhost. Уязвимости не подвержены конфигурации с настройками вида «testuser ALL = ALL» или без явных правил для конкретного пользователя.
tags: helpsoc, sudo testuser testhost = ALL, «testuser ALL = ALL»,
ограничения правил sudoers,
тэги: helpsoc, sudo testuser testhost = ALL, «testuser ALL = ALL»,
ограничения правил sudoers.