В ssh-библиотеке, входящей в состав Erlang/OTP, выявлена серьезная уязвимость (CVE-2025-32433). Эта уязвимость позволяет удаленно и без аутентификации выполнить произвольный код на SSH-сервере, созданном с применением данной библиотеки. Уязвимости присвоен максимальный уровень опасности — 10 из 10. Специалист по безопасности разработал рабочий эксплоит для эксплуатации данной уязвимости, используя AI-ассистенты GPT-4, Cursor и Sonnet для анализа патча, исправляющего уязвимость.
Проблематика и реализация на основе Erlang/OTP
Библиотека Erlang/OTP обеспечивает реализацию клиента и сервера SSH и SFTP, поддерживающую протокол SSH 2.0. Уязвимые SSH-серверы можно идентифицировать по заголовку "SSH-2.0-Erlang/версия". Такие серверы зачастую находят применение в IoT-устройствах и на системах edge-вычислений.
Кроме того, эта проблема характерна для инфраструктуры на базе Elixir и связанного с ним фреймворка Phoenix. Обычно в Phoenix серверы не принимают внешние запросы по умолчанию, тем не менее, это подчеркивает значимость своевременного обновления.
Технические детали и исправление уязвимости
Проблема возникла из-за ошибки в разборе сообщений, где сообщения типа SSH_MSG_CHANNEL_REQUEST обрабатывались до прохождения аутентификации, позволяя удаленному исполнению команд "exec".
Выпуски Erlang/OTP-27.3.3, 26.2.5.11 и 25.3.2.20 содержат исправления этой уязвимости. Полное устранение можно проследить на страницах дистрибутивов: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch и FreeBSD.
Для бизнес-среды, использующей виртуальные серверы и облачные решения, важно регулярно организовывать обновление и аудит используемого ПО для защиты IT-инфраструктуры от подобных уязвимостей.