Уязвимости Sudo подвергают системы Linux риску повышения привилегий

Используете ли вы серверы Linux? Зависите ли вы от sudo для управления правами пользователей? Если да, то вам нужно прочитать это срочное предупреждение о безопасности! Две критические уязвимости были обнаружены в sudo, что потенциально может позволить злоумышленникам получить root-доступ к вашим системам. Эти серьёзные ошибки затрагивают широкий спектр версий sudo.
Что такое Sudo?
Sudo (superuser do) — важная программа для Unix-подобных операционных систем, таких как Linux. Она позволяет пользователю с соответствующими правами выполнять команды от имени другого пользователя, обычно пользователя root, в соответствии с набором политик безопасности, определённых в файле sudoers
.
Это ключевой инструмент для управления привилегиями и повышения безопасности в многопользовательских средах, обеспечивающий детальную настройку предоставления привилегий и ведение журналов аудита.
Уязвимость опции Chroot (CVE-2025-32463)
Эта уязвимость затрагивает версии sudo с 1.9.14 по 1.9.17 включительно. Опция sudo -R
(--chroot
) позволяет пользователям запускать команды в выбранном пользователем корневом каталоге, если это разрешено файлом sudoers
.
Как злоумышленники используют это
Изменение, внесённое в sudo 1.9.14, имело непредвиденный побочный эффект. Злоумышленник может заставить sudo загрузить произвольную разделяемую библиотеку. Для этого он создаёт вредоносный /etc/nsswitch.conf
файл в выбранном им корневом каталоге.
Результат? Злоумышленник может выполнять произвольные команды от имени пользователя root, даже если они не указаны в sudoers
-файле.
Это означает, что если ваша система поддерживает /etc/nsswitch.conf
, то вы подвергаетесь риску. Эта критическая ошибка была исправлена в sudo 1.9.17p1.
Функция chroot
также помечена как устаревшая и будет удалена в будущих версиях, поскольку она подвержена ошибкам.
Уязвимость Host Option (CVE-2025-32462)
Этот второй критический недостаток затрагивает ещё более широкий спектр версий sudo: от 1.8.8 до 1.9.17 включительно. Опция sudo -h
(—host) предназначена для использования только с опцией list (-l
или --list
) для проверки прав пользователя на другом хосте.
Как злоумышленники используют это
Из-за ошибки параметр -h
не был должным образом ограничен. Его можно было использовать при запуске команды через sudo
или при редактировании файла с помощью sudoedit
. По сути, из-за этой ошибки часть правила sudoers
с именем хоста становится неактуальной.
Рассмотрим такой пример: если в правиле sudoers
указано sk ostechnix = ALL
, то пользователь sk должен запускать команды от имени пользователя root только на хосте с именем ostechnix.
Однако благодаря этой уязвимости sk мог запустить sudo -h ostechnix id
на любом хосте и получить права суперпользователя. Хотя пользователь по-прежнему должен быть указан в sudoers
файле, ему больше не нужна запись, предназначенная специально для текущего хоста.
Эта уязвимость особенно опасна для организаций, которые распространяют общий sudoers
файл на несколько компьютеров или используют sudoers на основе LDAP (включая SSSD). Как и chroot
ошибка, эта проблема была исправлена в sudo 1.9.17p1.
Решение: обновите Sudo прямо сейчас!
Об обеих уязвимостях сообщил и проанализировал их Рич Мирч из отдела кибербезопасности Stratascale (CRU): https://www.stratascale.com/team/rich-mirch. Компания Stratascale опубликовала рекомендации по этим вопросам.
Самый важный шаг, который вы можете сделать, — это незамедлительно обновить пакет sudo до версии 1.9.17p1 или более поздней.
- В таких системах, как Ubuntu, автоматические обновления безопасности: часто включены по умолчанию через
unattended-upgrades
. Они должны включать в себя эти критические исправления. Однако обновления могут выходить с задержкой. Всегда лучше вручную проверять версию sudo. - Для пользователей Debian
sudo
не устанавливается по умолчанию, если вы задали пароль root во время установки. Если вы не задали пароль root,sudo
устанавливается. Debian также предлагаетunattended-upgrades
для исправления ошибок в системе безопасности. Исправленная версия для Debian Bookworm (Debian 12) — 1.9.13p3-1+deb12u2.
Помимо обновления: общие правила безопасности
- Сведите к минимуму поверхность атаки: установка пакетов, которые вам на самом деле не нужны, может увеличить поверхность атаки вашей системы. Хотя
sudo
часто бывает очень полезным, особенно в многопользовательских системах, подумайте, действительно ли он необходим в однопользовательских системах, где для определенных случаев может быть достаточно прямогоroot
входа в систему. - Запускайте службы от имени пользователей без прав root: всегда следите за тем, чтобы ваши веб-серверы и другие службы работали от имени выделенных пользователей без прав root. Это ограничит потенциальный ущерб в случае взлома службы.
- Рассмотрите альтернативы: для более простых задач doas: https://man.openbsd.org/doas, (из OpenBSD) часто называют облегчённой альтернативой
sudo
.
Не откладывайте! Проверьте версию sudo сегодня и убедитесь, что ваши системы защищены от этих критических уязвимостей, связанных с повышением привилегий. Берегите себя, обновляйте систему!
Для получения более подробной информации перейдите по следующим ссылкам:
- Локальное повышение привилегий с помощью команды chroot: https://www.sudo.ws/security/advisories/chroot_bug/
- Локальное повышение привилегий с помощью опции host: https://www.sudo.ws/security/advisories/host_any/
Редактор: AndreyEx