CVE-2025-32433: Уязвимость удаленного выполнения кода SSH в Erlang/OTP

vulnerability

16 апреля 2025 года команда Erlang/OTP раскрыла критическую уязвимость, затрагивающую реализацию SSH-сервера. CVE-2025-32433 - это неаутентифицированная уязвимость удаленного выполнения кода с оценкой CVSS 10.0 (Critical), позволяющая злоумышленникам выполнять произвольный код на уязвимых системах с повышенными привилегиями. Erlang/OTP широко используется в критически важных инфраструктурах, поэтому организациям настоятельно рекомендуется незамедлительно исправлять уязвимые SSH-серверы.

Объяснение уязвимости Erlang/OTP SSH CVE-2025-32433

Erlang/OTP - это язык программирования и платформа, предназначенная для создания высококонкурентных, распределенных и отказоустойчивых систем. Изначально разработанный для телекоммуникаций, он получил широкое распространение в сетевой инфраструктуре и распределенных системах. На нем работают такие платформы обмена сообщениями, как WhatsApp, которая опирается на способность Erlang обрабатывать миллионы одновременных соединений. Он также используется в распределенных базах данных, таких как CouchDB и Riak, где необходимость в надежной репликации и отказоустойчивости имеет первостепенное значение. Кроме того, Erlang/OTP используется в оборудовании, включающем маршрутизаторы, промышленные системы управления и интеллектуальные датчики. Например, системы промышленной автоматизации и устройства операционных технологий (OT) используют программное обеспечение на базе Erlang/OTP для управления и координации работы оборудования, обеспечивая оперативность реагирования в реальном времени и изоляцию от сбоев.

16 апреля 2025 года команда Erlang/OTP раскрыла критическую уязвимость, обнаруженную в реализации SSH-сервера в Erlang/OTP. CVE-2025-32433 позволяет выполнять удаленный код без аутентификации, то есть злоумышленник может получить контроль над системой без необходимости предоставлять действительные учетные данные. Причина уязвимости кроется в логике обработки сообщений протокола SSH. В частности, сервер не может правильно отклонить определенные типы протокольных сообщений, которые отправляются до этапа аутентификации в рукопожатии SSH. Используя эту уязвимость, злоумышленники могут создавать и отправлять специально разработанные сообщения, которые ошибочно принимаются и обрабатываются сервером. Уязвимость имеет CVSS-оценку 10.0 (Critical) и затрагивает перечисленные ниже версии Erlang/OTP.

Название продукта Затронутые версии Исправленные версии

Erlang/OTP

OTP-27.3.2 и предшествующие OTP-27.3.3
OTP-26.2.5.10 и предшествующие OTP-26.2.5.11
OTP-25.3.2.19 и предшествующие OTP-25.3.2.20

Как работает уязвимость Erlang/OTP SSH CVE-2025-32433?

Уязвимость CVE-2025-32433 вызвана недостатком в способе обработки SSH-сервером Erlang/OTP протокольных сообщений на ранних этапах SSH-соединения. Обычно SSH-сервер ожидает аутентификации пользователя, прежде чем принимать и обрабатывать определенные типы сообщений, особенно те, которые запрашивают доступ к выполнению команд. Однако из-за отсутствия проверки в реализации Erlang/OTP можно отправить определенные SSH-сообщения до завершения аутентификации, и сервер ошибочно обработает их так, как будто пользователь уже прошел проверку.

В одном из примеров попытки эксплуатации атакующий посылает сообщение «channel open» для начала сеанса и вслед за ним сообщение «channel request», содержащее команду, например запись файла или запуск оболочки. Обычно такие сообщения разрешаются только после успешной аутентификации, но в данном случае сервер не смог их заблокировать. Поскольку сервер не обеспечивает должной аутентификации на этом этапе, он обрабатывает запрос и выполняет команду, как если бы она исходила от доверенного пользователя, вошедшего в систему.

Уязвимость CVE-2025-32433 особенно опасна тем, что демон SSH часто запускается с повышенными привилегиями, зачастую от имени root. Это означает, что любая команда, отправленная через эксплойт, выполняется с полными системными привилегиями, предоставляя атакующему полный контроль над пораженной машиной.

Комментарии: 0