Беше публикувана информация за нова критична уязвимост това беше открито в помощната програма Sudo (най-широко използваният инструмент за управление на привилегии в Linux).
Посочен като CVE-2025-32463, тази грешка позволява на всеки непривилегирован локален потребител да изпълнява команди с root достъп, дори и да не е посочен в конфигурацията на sudoers. Недостатъкът е потвърден в популярни дистрибуции като Ubuntu 24.04 и Fedora 41, засягайки тяхната конфигурация по подразбиране.
Произходът на проблема е в опцията –chroot (-R) от Судо, който позволява ви да изпълнявате команди в изолирана файлова системаКогато използва тази опция, Sudo променя главната директория на тази, посочена от потребителя. Опасността е, че в този процес Sudo зарежда файла /etc/nsswitch.conf от chroot средата, а не този от оригиналната система.
Конфигурацията по подразбиране на Sudo е уязвима. Въпреки че уязвимостта засяга chroot функционалността на Sudo, тя не изисква дефиниране на Sudo правила за потребителя. Следователно, всеки непривилегирован локален потребител може да ескалира привилегиите до root, ако е инсталирана уязвима версия. Известно е, че следните версии са уязвими. Забележка: Не всички версии в диапазона са тествани.
Това отваря вратата за гениална атака.Ако потребителят създаде своя собствена chroot среда и включи манипулиран файл nsswitch.conf в нея, той може да принуди системата да зареди персонализирани споделени библиотеки, разположени в тази среда. НСС (Превключвател на услуги за имена) изпълнява код, преди да се откаже от root правата, атакуващият успява да накара злонамерения си код да се изпълни с права на суперпотребител.
CVE-2025-32463: Доказателство за концепция и технически подробности
Експлоатацията на това Уязвимост е демонстрирана с експлойт в Bash който използва персонализирана споделена библиотека и модифициран конфигурационен файл. При изпълнение на sudo -R уут уут В тази среда системата зарежда библиотеката с root права., което води до директно увеличаване на привилегиите.
Въпреки чеchroot обикновено се използва за ограничаване на достъпа до файловата система., както се случва при FTP или SFTP сървъри, Не е било проектирано като мярка за безопасностВсъщност, самото ръководство за Linux предупреждава: chroot() променя само главната директория на процеса, но не предотвратява опасни извиквания, нито осигурява истинска изолация.
В Sudo, опцията -R превключва на root преди изпълнение на командата, което може да бъде полезно в специфични сценарии, но е и изключително рисковано, ако на непривилегировани потребители е позволено да дефинират средата.
Тази атака е потвърдена във версии на Sudo от 1.9.14 до 1.9.17., въпреки че се подозира, че това може да засегне от версия 1.8.33. По-старите версии (≤ 1.8.32) обаче не са уязвими, защото не имплементират функцията chroot.
Друга свързана уязвимост: CVE-2025-32462
La Актуализацията, която отстранява този проблем, отстранява и втора уязвимост., идентифициран като CVE-2025-32462, който позволява заобикаляне на ограниченията за хост в sudoers.
Тази грешка Това се случва, когато потребителят използва опцията –host (-h) не само изброява правилата за привилегии, но и изпълнява команди, което не е било предвидено. Ако конфигурационният файл включва правила като testuser testhost = ALL, потребителят може да изпълни sudo -h testhost, за да изпълни root команди на произволен хост, като по този начин заобиколи ограниченията.
Тази втора грешка обаче Това засяга само потребители, които вече са в sudoers и чиято специфична конфигурация включва ограничения за хоста..
Кои дистрибуции са засегнати?
Уязвимостта е потвърдена в:
- Ubuntu 24.04.1 със Sudo 1.9.15p5 и 1.9.16p2
- Fedora 41 със Sudo 1.9.15p5
на Уязвимите версии варират от 1.9.14 до 1.9.17, Важно е да се отбележи, че опцията chroot е остаряла от версия 1.9.17p1 на Sudo. Следователно, използването ѝ вече не се препоръчва в производствени среди.
Какво се препоръчва да се направи?
Изследователският екип на Stratascale препоръча следните действия:
- Актуализирайте Sudo до версия 1.9.17p1 или по-висока.
- Избягвайте използването на опцията chroot, тъй като нейната функционалност е остаряла от съображения за сигурност.
- Проверете за използване на runchroot= или подобни директиви в /etc/sudoers и във файловете в /etc/sudoers.d.
- Прегледайте системните лог файлове за записи в Sudo, които използват CHROOT=.
- Използвайте инструменти като ldapsearch, ако вашите sudoers правила се съхраняват в LDAP.
И накрая, ако се интересувате да научите повече за него, можете да се консултирате с подробностите в следваща връзка.