
Un exploit PoC pour CVE-2026-24061 - GNU InetUtils telnetd Argument Injection Authentication Bypass
Les versions 1.9.3 à 2.7 de GNU InetUtils sont vulnérables à une faille de contournement d'authentification à distance dans le serveur telnetd. Le démon telnetd ne nettoie pas correctement la variable d'environnement USER avant de la passer comme argument de ligne de commande au programme login(1). Lorsqu'un client telnet envoie une variable d'environnement USER contenant des options de ligne de commande (comme -f root), telnetd transmet directement cette valeur non nettoyée au programme login. L'utilitaire login interprète l'option -f comme une instruction de contournement de l'authentification, permettant à un attaquant d'obtenir un accès root non autorisé sans fournir aucun identifiant.
Implémentation complète du protocole Telnet
DO, DONT, WILL et .WONTInjection automatique de la charge utile
ENVIRON spécialement conçue avec l'injection USER=-f root.Shell interactif
Gestion des connexions
Débogage verbeux
python3 exploit.py <target> -p <port> [options]
| Argument | Description |
|---|---|
target | Adresse IP ou nom d'hôte cible |
| Option | Description |
|---|---|
-p, --port | Port cible (défaut : 23) |
-v, --verbose | Activer la sortie de débogage verbeuse |
-t, --timeout | Délai d'attente de connexion en secondes (défaut : 5) |
-k, --keepalive | Intervalle de keepalive en secondes (défaut : 30) |
-h, --help | Afficher le message d'aide |
python3 exploit.py 192.168.1.100
python3 exploit.py 192.168.1.100 -p 2323 -v
python3 exploit.py 10.0.0.5 -p 2323 -k 60 -t 10
Établissement de la connexion
Négociation du protocole
SGA, ECHO et ENVIRON).Livraison de la charge utile
WILL ENVIRON suivi de la charge utile de sous-négociation spécialement conçue.Contournement de l'authentification
-f root est injecté dans login(1) pour contourner les vérifications d'identifiants.Session interactive
L'exploit exploite l'option Telnet ENVIRON (RFC 1572) pour injecter des arguments de ligne de commande dans la variable d'environnement USER.
Lorsque telnetd transmet cette valeur non nettoyée à login -f root, le programme login interprète -f comme une option qui force le contournement de l'authentification, accordant un accès root sans vérification du mot de passe.
Le script d'exploit implémente :
WILL, WONT, DO, DONT)NOP de keepalive pour maintenir la stabilité de la session$ python3 exploit.py 127.0.0.1 -p 2323
[!] Coded By: K3ysTr0K3R
[*] Telnet Authentication Bypass
[*] Connecting to 127.0.0.1:2323
[+] Connection established
[+] Exploit payload sent (19 bytes)
# id
uid=0(root) gid=0(root) groups=0(root)
# whoami
root
#
Les administrateurs système peuvent détecter les tentatives d'exploitation en surveillant :
ENVIRON.USER contenant -f ou d'autres options de ligne de commande.Mettez à niveau vers GNU InetUtils version 2.8 ou appliquez le correctif de sécurité officiel qui nettoie les variables d'environnement avant de les transmettre à login(1).
Cette preuve de concept est destinée uniquement à la recherche en sécurité, à la validation de vulnérabilités et aux environnements de test autorisés. Ne l'utilisez que contre des systèmes pour lesquels vous disposez d'une autorisation explicite pour effectuer des évaluations de sécurité.