Kwetsbaarheid in de SSH-server van Erlang/OTP, die op afstand code-executie mogelijk maakt

In de SSH-bibliotheek die deel uitmaakt van de Erlang/OTP-toolkit is een kwetsbaarheid (CVE-2025-32433) ontdekt die een aanvaller in staat stelt om zonder authenticatie code op een SSH-server uit te voeren die is gebouwd met behulp van de kwetsbare bibliotheek. Het probleem heeft een kritieke risicograad (10 van 10) gekregen.

Een van de beveiligingsonderzoekers heeft al een werkende exploit voorbereid voor het uitvoeren van code op kwetsbare SSH-servers. Opmerkelijk is dat volgens de onderzoeker de code is gemaakt met behulp van AI-assistenten GPT-4, Cursor en Sonnet op basis van de analyse van de wijzigingen met de patch voor de kwetsbaarheid, inclusief een test om te controleren of het probleem is opgelost.

De bibliotheek van het Erlang/OTP-project biedt kant-en-klare implementaties voor de client en de server SSH en SFTP, die het SSH 2.0-protocol ondersteunen. Probleemservers zijn te onderscheiden aan de hand van de uitvoer van de header 'SSH-2.0-Erlang/version'. SSH-servers op basis van Erlang/OTP worden gebruikt in gespecialiseerde systemen, zoals op IoT- en edge-computapparaten, en als debugtool - Erlang maakt het eenvoudig om een SSH-server in te schakelen voor externe debugging van applicaties (verondersteld wordt dat dergelijke debugmogelijkheden zijn ingeschakeld in vele projecten die in Erlang zijn geschreven). Het probleem doet zich ook voor in de Elixir-toolkit (gebouwd bovenop Erlang) en in het Phoenix-framework dat daarop is gebaseerd, maar de SSH-server in Phoenix accepteert standaard geen verzoeken van externe netwerken.

De kwetsbaarheid wordt veroorzaakt door een fout in de code voor het parseren van berichten, waardoor SSH_MSG_CHANNEL_REQUEST-berichten, die de uitvoering van het commando 'exec' mogelijk maken, worden behandeld in de fase vóór authenticatie. Voorbeeldcode uit de exploit: 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) )

De kwetsbaarheid is verholpen in de releases Erlang/OTP-27.3.3, 26.2.5.11 en 25.3.2.20. Voor het volgen van de kwetsbaarheid in distributies kunt u de volgende pagina's raadplegen: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch, FreeBSD.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster