На прошлой неделе компания Stratascale опубликовала информацию сразу о двух уязвимостях в утилите sudo, повсеместно используемой в дистрибутивах на базе Linux для временного изменения набора привилегий пользователя. С помощью sudo можно выполнять команды от имени суперпользователя либо от имени любого другого пользователя в системе. Обе проблемы в некоторых случаях приводят к возможности выполнения локальным пользователем команд с привилегиями root, даже если у него нет на это прав. Уязвимости также являются следствием ошибок в логике работы sudo, которые оставались незамеченными достаточно долго: в одном случае два года, в другом больше 10 лет.

Уязвимость CVE-2025-32463 (оригинальное исследование, новость на Хабре) относится к функциональности chroot, позволяющей изменить корневой каталог для пользователя или программы. Опция -R или -chroot в команде sudo как раз позволяет это сделать перед выполнением команды. Как выяснилось, из-за ошибки в sudo изменение корневого каталога на полностью контролируемый пользователем может привести к выполнению произвольного кода с максимальными привилегиями.

Работает это так: в процессе переключения на другой корневой каталог вызывается функция Name Service Switch, позволяющая загружать конфигурационные файлы из разных источников. Конфигурация Name Service Switch прописывается в файле /etc/nsswitch.conf, где в качестве источника данных могут быть указаны как локальные файлы, так и сетевые источники, например, с использованием протокола ldap. Указание ldap в конфигурации приводит к обращению к соответствующей библиотеке, в данном случае это libnss_ldap.

Проблема заключается в том, что конфигурация /etc/nsswitch.conf загружается из нового корневого каталога, указанного в опции -chroot. Оттуда же загружается библиотека для источника данных, указанная в этом конфигурационном файле. Выполняется код при этом с привилегиями суперпользователя. Ошибка была внесена в версии sudo 1.9.14, выпущенной в июне 2023 года. Закрыта в sudo 1.9.17p1, где вся функциональность chroot также получила статус deprecated.

Другая уязвимость CVE-2025-32462 выделяется тем, что существует начиная с версии sudo 1.8.8, выпущенной в сентябре 2013 года, почти 12 лет назад. Тогда в утилиту была добавлена опция -host, позволяющая указать отдельные привилегии для определенного пользователя, в зависимости от того, к какому серверу он подключен. В примере, указанном в публикации Stratascale, приводятся два хоста, на одном из которых пользователь может выполнять команды с максимальными привилегиями, а на другом — нет. Тогда же появилась и ошибка в логике: пользователь может указать при выполнении команды sudo тот хост, на котором у него есть расширенные привилегии, и они будут применены даже на том сервере, где привилегий нет.

В отличие от проблемы с опцией -chroot, данная уязвимость имеет ограниченное применение: чтобы она сработала, привилегии пользователя на определенном хосте должны быть явно прописаны в конфигурации sudo. Такое решение часто применяется в корпоративном окружении. Закрыть проблему (в той же версии 1.9.17p1) также оказалось легко: при выполнении команды sudo запретили использовать опцию -host, разрешив ее использование только в конфигурационном файле.

Обе уязвимости в sudo были обнаружены еще в январе этого года и закрыты в конце июня. Уязвимость, связанная с опцией -chroot с индентификатором CVE-2025-32463, является наиболее опасной (рейтинг по шкале CVSS 9,3), так как может эксплуатироваться во множестве систем с конфигурацией по умолчанию и использоваться для относительно легкого повышения привилегий. В следующих релизах sudo функция -chroot будет и вовсе удалена.

 Что еще произошло

1 июля разработчики браузера Google Chrome закрыли очередную уязвимость нулевого дня. Уязвимость в движке JavaScript V8 стала четвертой уязвимостью за 2025 год, которая уже эксплуатировалась на момент обнаружения.

Обнаружена уязвимость в популярном плагине Forminator для WordPress, установленном на 400 тысячах веб-сайтов. Проблема с идентификатором CVE-2025-6463 позволяет удалять произвольные файлы и может приводить к перехвату контроля над сервером.

Исследователь mrd0x предложил вариант развития атаки ClickFix, который он назвал FileFix. Он обнаружил, что сохраненные веб-страницы не имеют так называемую Mark-of-the-Web, специальную метку, ограничивающую выполнение файлов, скачиваемых из Сети. При этом в код веб-страницы можно спрятать скрипт, который будет выполнен при запуске файла. Есть одна сложность: чтобы вредоносный сценарий выполнился, при сохранении нужно указать расширение файла .hta, а не .html. Именно так это указано в инструкции для потенциальной жертвы на скриншоте выше. Звучит малореалистично, но, по идее, атаки ClickFix, предлагающие пользователю скопировать скрипт и выполнить его в консоли, также не должны работать. А они, судя по частоте использования в реальных атаках, все же достаточно эффективны.

Комментарии (0)