Sudo является одним из ключевых инструментов безопасности в операционных системах на базе Linux и UNIX. Он предназначен для предоставления пользователям возможности выполнять команды с повышенными правами без необходимости раскрывать пароль суперпользователя. Этот инструмент позволяет эффективно реализовать принцип минимально необходимых прав, обеспечивая при этом аудит всех административных действий. Однако, несмотря на свою надёжность и широкое распространение, в Sudo было обнаружено несколько уязвимостей, способных существенно подорвать безопасность системы. Одной из таких проблем стала уязвимость, связанная с опцией Host (или Host_Alias), реализованной уже более десяти лет назад и оставшаяся незамеченной до прошлого года.
Эта уязвимость позволяет локальному пользователю повысить свои привилегии до уровня root без необходимости эксплуатации кода или подбора дополнительных данных. Ключевым фактором здесь является специфическая, но при этом довольно распространённая конфигурация Sudo, когда права пользователя ограничены конкретными именами хостов или шаблонами имён. Опция Host была введена в Sudo версии 1.8.8 в 2013 году с целью предоставления пользователям возможности просматривать свои правила sudoers для разных хостов, отличных от текущего.
Изначально задумывалось, что использование этой опции будет ограничено командой для вывода списка правил (sudo -l). Однако в реальности оказалось, что эта опция также работает и с другими командами, такими как sudoedit, что противоречит официальной документации. Исследование команды Stratascale Cyber Research Unit показало, что злоумышленник может использовать опцию Host, чтобы указать удалённый хост, на котором у него есть права на выполнение команд с повышенными привилегиями. В итоге, несмотря на то, что на локальном хосте такие права запрещены, Sudo неверно применяет правила для указанного удалённого хоста к локальной системе, фактически позволяя обойти ограничения и получить root-доступ. Такая ошибка в логике проверки конфигурации должна была остаться незамеченной, но она присутствовала в коде больше десятилетия, открывая двери для локальной эскалации привилегий.
Уязвимость получила идентификатор CVE-2025-32462 и была публично раскрыта в июне 2025 года после сотрудничества исследователей и разработчика Sudo Тодда Миллера. Она затрагивает все стабильные версии Sudo начиная с 1.8.8 и до 1.9.
17 включительно. На сегодняшний день эксплойты подтверждены на популярных системах, включая Ubuntu 24.04.1 и macOS Sequoia 15.3.
2 с соответствующими версиями Sudo. Основная опасность данной уязвимости в том, что для повышения привилегий злоумышленнику не требуется сложная эксплуатация или баговые условия; достаточно использовать встроенные возможности программы в условиях специфической, но распространённой настройки. Это делает проблему особенно критичной для корпоративных сред, где настраиваются разные правила исполнения команд в зависимости от хоста, что служит распространённой практикой для управления доступом в мультисерверных инфраструктурах. Администраторы систем должны незамедлительно провести аудит своих конфигураций Sudo, проверив наличие и использование директив Host и Host_Alias в основных файлах sudoers и в файлах конфигурации подкаталогов. Кроме того, если правила Sudo хранятся в LDAP, следует извлечь и просмотреть соответствующие записи, чтобы выявить потенциально уязвимые параметры, которые могут использоваться злоумышленниками.
Ключевой мерой устранения уязвимости является обновление пакетов Sudo до версии 1.9.17p1 или выше. В новых релизах разработчики ограничили применение опции Host только командами, предназначенными для вывода списка доступных правил (sudo -l), что блокирует возможность подмены хоста при выполнении административных команд. К сожалению, в настоящее время обходных путей или временных решений не существует, поэтому задержка с обновлением может привести к серьёзным рискам безопасности.
Помимо непосредственной угрозы повышению прав, данная уязвимость демонстрирует важность глубокого анализа и тестирования нечасто используемых функций даже таких зрелых и широко распространённых инструментов, как Sudo. Применение новых функциональных возможностей требует комплексных проверок, включая сценарии нештатного поведения, чтобы своевременно выявлять подсказки к потенциальным безопасности дефектам. Кроме того, сама ситуация с уязвимостью подчеркивает сложность управления привилегиями в современных информационных системах, где политика безопасности может строиться на множестве факторов, включая локальные и удалённые ресурсы, группы пользователей и их роли. Для конечных пользователей и ИТ-подразделений важно не только поддерживать инструменты в актуальном состоянии, но и регулярно аудитировать политики доступа, выявлять и минимизировать избыточные или устаревшие уровни разрешений. Повышение культуры безопасности и улучшение процесса контроля доступа остаются критически необходимыми элементами защиты от подобных инсайдерских угроз с использованием легитимных возможностей программного обеспечения.