Спецпроекты

Безопасность Техника

В Linux найдены две «дыры» в Sudo, которые делают сисадмином всех желающих. Под ударом Ubuntu, Debian, Gentoo, Red Hat, SUSE

Выявленные проблемы в разных компонентах Sudo открывают возможность для запуска произвольных команд с полномочиями root. Но - при соблюдении ряда условий.

С одной стороны, ничего опасного

Две уязвимости в Sudo, одну из которых игнорировали около 12 лет, внезапно стали источником серьезной угрозы для ряда крупных дистрибутивов Linux.

Sudo - это утилита командной строки, которая позволяет непривилегированным юзерам выполнять ограниченный набор команд с повышенными полномочиями.

Какие именно это команды, и на какие машины распространяется разрешение их выполнять, определяется файлом /etc/sudoers. Там же определяются и другие условия, например, необходимость вводить пароль.

Критические уязвимости в Sudo обеспечивают локальных пользователей возможностью получения root-доступа - в крупных дистрибутивах

Уязвимость CVE-2025-32462 можно было эксплуатировать (до обновления Sudo 1.9.17p1) при условии, что в файле sudoers указан сторонний хост, не являющийся активным в данный момент и не относящийся к категории ALL. Опция -h (host), задействованная в 2013 г., позволяла указывать привилегии пользователя для других хостов. По словам эксперта компании Stratascale Рича Мерча (Rich Mirch), который выявил этот «баг», тот каким-то образом ускользал от внимания разработчиков в течение всех этих 12 лет.

Уязвимость позволяет запускать на локальной машине любую команду, которая разрешена на удаленном хосте, если команда Sudo сопровождается опцией host с указанием на сторонний хост.

«Проблема затрагивает, главным образом, сайты, на которых используются файлы sudoer, распределенные сразу на несколько машин, - написал сопроводитель Sudo Тодд Миллер (Todd C. Miller). - Сайты, использующие sudoers на базе LDAP, в т.ч. SSSD, также под угрозой».

Однако эта уязвимость считается малоопасной: в силу ряда обстоятельств она получила лишь 2,8 балла по шкале угроз CVSS.

На противоположном краю

А вот следующая за ней, которую также выявил Мерч, получила 9,3 балла: она позволяет запускать произвольные команды с привилегиями root, даже если их в файле sudoers нет. Для этого потребуется использовать опцию -R (chroot) в дефолтной конфигурации Sudo.

«Хотя уязвимость эксплуатирует chroot, она не нуждается в заданных пользователем правилах Sudo. В результате любой непривилегированный пользователь может повысить привилегии до уровня root», - пишет Mirch.

Потенциальный злоумышленник может заставить Sudo загрузить произвольную библиотеку общего доступа, создав нужного содержания файл /etc/nsswitch.conf в пользовательском каталоге, доступ к которому обеспечивают только root-полномочия, и в теории, запускать оттуда вредоносные команды.

Миллер, со своей стороны, отметил, что опция chroot будет исключена из будущих релизов Sudo. Он добавил также, что поддержка пользовательских root-каталогов в принципе чревата проблемами.

«От любых проблемных опций и компонентов, если они не критически необходимы, лучше избавляться», - отмечает Анастасия Мельникова, директор по информационной безопасности компании SEQ. «Но Sudo - слишком удобная вещь, чтобы отказываться от нее полностью. Если разработчики Sudo могут безболезненно - для пользователей - расстаться с chroot, то это повысит общую безопасность всех дистрибутивов, включающих эту утилиту по умолчанию».

Информация об уязвимостях была передана сопроводителям Sudo еще 1 апреля. Обновление 1.9.17p1 устраняет обе.

Разработчики ряда дистрибутивов выпустили свои собственные бюллетени безопасности по поводу этих двух «багов»: в частности, CVE-2025-32462 затрагивает Alma Linux 8, Alma Linux 9, Alpine Linux, Amazon Linux, Debian, Gentoo, Oracle Linux, Red Hat, SUSE и Ubuntu; CVE-2025-32463 присутствует (или присутствовала, если последние обновления уже установлены) в Alpine Linux, Amazon Linux, Debian, Gentoo, Red Hat, SUSE и Ubuntu.

Роман Георгиев

Короткая ссылка