Az Erlang/OTP eszközkészletébe tartozó ssh könyvtárban egy sebezhetőséget (CVE-2025-32433) azonosítottak, amely lehetővé teszi a kód távoli futtatását az SSH-szerven, anélkül hogy authentikációra lenne szükség. A probléma kritikus veszélyességi szintet kapott (10 a 10-ből).
Az egyik biztonsági kutató már elkészített egy működő exploitot az érintett SSH-szervereken történő kódvégrehajtásra. Figyelemre méltó, hogy a kutató elmondása szerint a kód az AI-asszisztensek (GPT-4, Cursor, Sonnet) segítségével készült, a sebezhetőség javításának elemzése alapján, amely tartalmaz egy tesztet a probléma megoldásának ellenőrzésére.
Az Erlang/OTP projekttől származó könyvtár kész kliens- és a szerver SSH, valamint SFTP implementációkat biztosít, amelyek támogatják az SSH 2.0 protokollt. A problémás SSH-szerverek az 'SSH-2.0-Erlang/verzió' fejléc kimenetével azonosíthatók. Az Erlang/OTP alapú SSH-szerverek speciális rendszerekben használatosak, például IoT- és edge számítási eszközökön, valamint hibakeresési eszközként - az Erlang lehetővé teszi az SSH-szerver egyszerű aktiválását az alkalmazások távoli hibakeresésére (feltételezve, hogy egy ilyen hibakeresési lehetőséget sok, Erlang-ban írt projektben engedve hagytak). A probléma az Elixir eszközkészletében is megjelenik (amely az Erlang-ra épül) és a Phoenix keretrendszerben is, de a Phoenix SSH-szervere alapértelmezés szerint nem fogad külső hálózatokból érkező kérelmeket.
A sebezhetőség egy üzenetfeldolgozási kódhibájából adódik, amely miatt az SSH_MSG_CHANNEL_REQUEST üzenetek, amelyek lehetővé teszik az 'exec' parancs futtatását, a hitelesítés előtti szakaszban kerültek feldolgozásra. Az exploit példakódja: 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) )
A sebezhetőség a következő Erlang/OTP verziókban javítva lett: 27.3.3, 26.2.5.11 és 25.3.2.20. A sebezhetőség javítását a disztribúciókban az alábbi oldalakon követhetjük nyomon: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch, FreeBSD.
Forrás: opennet.ru
