Vulnérabilité dans le serveur SSH d'Erlang/OTP permettant l'exécution de code à distance

Une vulnérabilité (CVE-2025-32433) a été identifiée dans la bibliothèque ssh, qui fait partie de l'outil Erlang/OTP, permettant l'exécution de code à distance sans authentification sur un serveur SSH créé avec cette bibliothèque vulnérable. Le problème a été classé comme critique (10 sur 10).

Un des chercheurs en sécurité a déjà préparé un exploit fonctionnel pour exécuter du code sur les serveurs SSH vulnérables. Fait intéressant, selon le chercheur, le code a été généré à l'aide d'assistants IA comme GPT-4, Cursor et Sonnet, basé sur l'analyse des modifications apportées pour corriger la vulnérabilité, y compris un test pour vérifier la résolution du problème.

La bibliothèque du projet Erlang/OTP fournit des implémentations prêtes à l'emploi du client et de serveurs SSH et SFTP, prenant en charge le protocole SSH 2.0. On peut distinguer les serveurs SSH problématiques par l'en-tête « SSH-2.0-Erlang/version ». Les serveurs SSH basés sur Erlang/OTP sont utilisés dans des systèmes spécialisés, par exemple, sur des dispositifs IoT et pour le edge computing, ainsi qu'en tant qu'outil de débogage — Erlang permet d'activer facilement un serveur SSH pour le débogage à distance des applications (il est probable que cette capacité de débogage ait été laissée activée dans de nombreux projets écrits en Erlang). Le problème se manifeste également dans l'outil Elixir (réalisé au-dessus d'Erlang) et dans le framework Phoenix qui en est dérivé, mais le serveur SSH dans Phoenix n'accepte par défaut pas les requêtes provenant de réseaux externes.

La vulnérabilité est causée par une erreur dans le code d'analyse des messages, entraînant le traitement des messages SSH_MSG_CHANNEL_REQUEST, qui permettent l'exécution de la commande « exec », à un stade antérieur à l'authentification. Exemple de code extrait de l'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) )

La vulnérabilité a été corrigée dans les versions Erlang/OTP-27.3.3, 26.2.5.11 et 25.3.2.20. Vous pouvez suivre la correction de cette vulnérabilité dans les distributions suivantes : Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch, FreeBSD.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster