
Ceci est une analyse pour CVE-2025-32433 (Vulnérabilité Erlang OTP SSH). Je n'ai écrit aucune partie du code, j'ai seulement écrit des commentaires décrivant ce que fait le code et des instructions pour configurer le serveur afin de réaliser l'exploit vous-même.
FAQ - CVE-2025-32433
Qu'est-ce que Erlang OTP ? Erlang est un langage de programmation généraliste. OTP (Open Telecom Platform) est un ensemble de middleware, de bibliothèques et de principes de conception utilisés pour la tolérance aux pannes via le BEAM VPN.
Pourquoi cette version d'Erlang est-elle vulnérable ? OTP 26.2.5.10 est vulnérable car le serveur SSH ne rejette pas correctement certains messages du protocole de connexion SSH avant que le client ne se soit authentifié. Déroulement typique :
Le client se connecte au serveur SSH.
Le client et le serveur négocient les algorithmes SSH et effectuent l'échange de clés cryptographiques.
Une connexion SSH chiffrée est établie. -- L'EXPLOIT RÉEL COMMENCE ICI
Le client commence l'authentification de l'utilisateur, comme l'authentification par mot de passe ou par clé publique.
Si l'authentification réussit, le client peut ouvrir des canaux SSH et demander des opérations via ceux-ci.
Pourquoi c'est défectueux : Dans la version vulnérable, le serveur peut traiter certains paquets du protocole de connexion, y compris SSH_MSG_CHANNEL_OPEN, avant que l'authentification de l'utilisateur n'ait abouti. Un attaquant peut donc établir la connexion de transport SSH mais sauter l'authentification réussie de l'utilisateur, puis envoyer des messages qui ne devraient être acceptés que par un utilisateur authentifié. Cela peut finalement permettre l'exécution de code à distance sans authentification.
Comment puis-je reproduire cela moi-même ? Téléchargez et extrayez ceci Ouvrez-le dans VS Code Installez Docker Desktop et connectez-vous Exécutez la commande dans ce répertoire : docker build -t local-erlang-ssh . Exécutez la commande : docker run --rm -it -p 127.0.0.1:2222:2222 local-erlang-ssh Ouvrez un nouveau powershell et testez pour vérifier qu'il a démarré : Test-NetConnection 127.0.0.1 -Port 2222 Attendez une minute et il devrait afficher TcpTestSucceeded : true Allez dans le fichier python et cliquez sur Exécuter Il devrait maintenant afficher l'EXPLOIT dans le terminal Utilisez la commande "docker ps" pour obtenir l'ID du conteneur. Collez ensuite cette commande docker exec CONTAINER_ID cat /lab.txt Elle devrait renvoyer le mot "pwned", montrant que l'exploit a fonctionné. Pour arrêter le conteneur, revenez au terminal d'origine où vous avez démarré le conteneur Docker et appuyez sur Control+C (il faudra peut-être le faire deux fois)
Comment puis-je protéger mes appareils contre cette vulnérabilité ? Si vous avez un serveur SSH Erlang OTP, mettez-le à jour vers 26.2.5.11 ou une version ultérieure.
Où puis-je en apprendre davantage ? Retirez les "[" et "]" autour de la ponctuation, je déteste les liens cliquables. Code original de Matt Keely : https[:]//github[.]com/ProDefense/CVE-2025-32433/blob/main/CVE-2025-32433.py La procédure pas à pas de Matt Keely expliquant comment il a créé le code : https[:]//platformsecurity[.]com/blog/CVE-2025-32433-poc Site web du NIST : https[:]//nvd.nist[.]gov/vuln/detail/CVE-2025-32433 Erlang : https[:]//www.youtube[.]com/watch?v=M7uo5jmFDUw