Уязвимост в SSH сървъра от Erlang/OTP, допускаща отдалечено изпълнение на код

В библиотеката ssh, част от инструментария Erlang/OTP, беше открита уязвимост (CVE-2025-32433), която позволява отдалечено изпълнение на код на SSH сървър, създаден с помощта на уязвимата библиотека, без необходимост от автентикация. Проблемът е оценен с критично ниво на опасност (10 от 10).

Един от изследователите по сигурността вече е подготвил работен експлоит за изпълнение на код на уязвими SSH сървъри. Интересното е, че по думите на изследователя кодът е създаден с помощта на AI асистенти GPT-4, Cursor и Sonnet, въз основа на анализа на промените с поправката на уязвимостта, включваща тест за проверка на отстраняването на проблема.

Библиотеката от проекта Erlang/OTP предоставя готови реализации на клиента и сървър SSH и SFTP, поддържащи протокол SSH 2.0. Проблематичните SSH сървъри могат да бъдат разпознати по заглавието „SSH-2.0-Erlang/версия“. SSH сървъри, базирани на Erlang/OTP, се използват в специализирани системи, като например в IoT устройства и устройства за edge изчисления, както и като инструмент за отстраняване на грешки — Erlang позволява лесно да се включи SSH сървър за отдалечено отстраняване на грешки на приложения (предполага се, че такава възможност за отстраняване на грешки е била оставена включена в много проекти, написани на Erlang). Проблемът също така се проявява в инструментария Elixir (реализиран върху Erlang) и в рамката Phoenix на неговата основа, но SSH сървърът в Phoenix по подразбиране не приема заявки от външни мрежи.

Уязвимостта е причинена от грешка в кода за обработка на съобщения, поради която съобщения SSH_MSG_CHANNEL_REQUEST, които разрешават изпълнение на команда „exec“, бяха обработвани на етапа преди аутентификацията. Примерен код от експлойта: command = ‘file:write_file(„/lab.txt“, <>).’ return ( b'\x62' # SSH_MSG_CHANNEL_REQUEST + struct.pack('>I', channel_id) + string_payload('exec') + b'\x01' # want_reply = true + string_payload(command) )

Уязвимостта е отстранена в версиите Erlang/OTP-27.3.3, 26.2.5.11 и 25.3.2.20. Можете да проследите отстраняването на уязвимостта в дистрибуциите на следните страници: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch, FreeBSD.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster