
Ein PoC-Exploit für CVE-2026-24061 - GNU InetUtils telnetd Argument-Injection-Authentifizierungs-Bypass
Die Versionen 1.9.3 bis 2.7 von GNU InetUtils weisen eine Schwachstelle im telnetd-Server auf, die eine Remote-Umgehung der Authentifizierung ermöglicht. Der telnetd-Daemon bereinigt die Umgebungsvariable USER nicht ordnungsgemäß, bevor er sie als Befehlszeilenargument an das Programm login(1) übergibt. Wenn ein Telnet-Client eine USER-Umgebungsvariable sendet, die Befehlszeilenflags (wie -f root) enthält, übergibt telnetd diesen ungereinigten Wert direkt an das Login-Programm. Das Login-Programm interpretiert das Flag -f als Anweisung, die Authentifizierung zu umgehen, wodurch ein Angreifer ohne Angabe von Anmeldedaten unbefugten Root-Zugriff erlangen kann.
Vollständige Telnet-Protokollimplementierung
DO, DONT, WILL und WONT.Automatische Payload-Injektion
ENVIRON-Options-Payload mit der USER=-f root-Injektion.Interaktive Shell
Verbindungsverwaltung
Ausführliches Debugging
python3 exploit.py <target> -p <port> [options]
| Argument | Beschreibung |
|---|---|
target | Ziel-IP-Adresse oder Hostname |
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
Verbindungsaufbau
Protokollverhandlung
SGA, ECHO und ENVIRON).Payload-Übermittlung
WILL ENVIRON gefolgt vom manipulierten Subnegotiation-Payload.Authentifizierungsumgehung
-f root wird in login(1) injiziert, um die Prüfung der Anmeldedaten zu umgehen.Interaktive Sitzung
Der Exploit nutzt die Telnet-Option ENVIRON (RFC 1572), um Befehlszeilenargumente in die Umgebungsvariable USER zu injizieren.
Wenn telnetd diesen ungereinigten Wert an login -f root übergibt, interpretiert das Login-Programm -f als Flag, das die Authentifizierungsumgehung erzwingt und ohne Passwortprüfung Root-Zugriff gewährt.
Das Exploit-Skript implementiert:
WILL, WONT, DO, DONT)NOP-Befehle zur Aufrechterhaltung der Sitzungsstabilität$ 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
#
Systemadministratoren können Exploit-Versuche erkennen, indem sie auf Folgendes überwachen:
ENVIRON-Optionsverhandlung durchführen.USER-Umgebungsvariablen, die -f oder andere Befehlszeilenflags enthalten.Aktualisieren Sie auf GNU InetUtils Version 2.8 oder wenden Sie den offiziellen Sicherheitspatch an, der Umgebungsvariablen bereinigt, bevor sie an login(1) übergeben werden.
Dieser Proof of Concept ist ausschließlich für Sicherheitsforschung, Schwachstellenvalidierung und autorisierte Testumgebungen bestimmt. Verwenden Sie ihn nur gegen Systeme, für die Sie ausdrücklich die Erlaubnis zur Durchführung von Sicherheitsbewertungen haben.
| Option | Beschreibung |
|---|
-p, --port | Zielport (Standard: 23) |
-v, --verbose | Ausführliche Debug-Ausgabe aktivieren |
-t, --timeout | Verbindungs-Timeout in Sekunden (Standard: 5) |
-k, --keepalive | Keepalive-Intervall in Sekunden (Standard: 30) |
-h, --help | Hilfemeldung anzeigen |