Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/franckferman/cve-2026-24061
SchwachstellenscannerExploitationNetzwerksicherheitPenetrationstestsBedrohungsanalyseAuthentifizierungLernen & BildungRed Teaming
GitHubfranckferman/cve-2026-24061

CVE-2026-24061

GNU InetUtils telnetd – Nicht authentifizierter Remote-Root-Zugriff über NEW-ENVIRON-Variableninjektion.

Repository anzeigen
525vor 6 MonatenNoch nicht geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE Score License Python No deps

GNU InetUtils telnetd - Nicht authentifizierter Remote-Root-Zugriff durch NEW-ENVIRON-Variableninjektion

Überblick - Technische Analyse - Betroffene Versionen - Verwendung - Behebung und Gegenmaßnahmen - Referenzen


Überblick über die Schwachstelle

CVE-2026-24061 ist eine kritische Authentifizierungs-Bypass-Schwachstelle im telnetd-Daemon, der als Teil von GNU InetUtils ausgeliefert wird. Der Fehler liegt in der Verarbeitung der Telnet-Option NEW-ENVIRON (RFC 1572) während des anfänglichen Protokoll-Handshakes.

Die Grundursache ist eine fehlende Bereinigung der vom Client gelieferten Umgebungsvariablen, bevor diese an das Programm login(1) übergeben werden. Wenn der Telnet-Daemon ein NEW-ENVIRON IS-Sub-Negotiation-Paket mit der Variablen USER und dem Wert -f root empfängt, übergibt er diesen unbereinigten Wert direkt an das System-login-Binary.

Auf Systemen, auf denen login das Flag -f akzeptiert (erzwungener Login ohne Passwortprüfung), führt dies dazu, dass dem entfernten Angreifer eine nicht authentifizierte Root-Sitzung gewährt wird.

Diese Schwachstellenklasse hat historische Präzedenzfälle: CVE-2001-0797 in SysV telnetd und der bekannte Linux-telnetd--f-Bypass von 1994 nutzten denselben grundlegenden Fehler aus: die fehlende Bereinigung von umgebungsbasierten Argumenten, die an privilegierte Binaries übergeben werden.

Keine Anmeldeinformationen erforderlich. Kein vorheriger Zugriff nötig. Eine einzige Netzwerkpaketsequenz führt zu Root.

Technische Analyse

Grundursache

GNU InetUtils telnetd verarbeitet die NEW-ENVIRON-Sub-Negotiation (Optionscode 0x27, gemäß RFC 1572), um vom Client gelieferte Umgebungsvariablen zu sammeln. Diese Variablen werden zu einem Argumentvektor zusammengesetzt und beim Starten von login(1) an execve(2) übergeben.

Die Schwachstelle wird wie folgt ausgelöst:

  1. Der Server sendet IAC DO NEW-ENVIRON und fordert damit Umgebungsvariablen vom Client an.
  2. Der bösartige Client antwortet mit IAC WILL NEW-ENVIRON.
  3. Der Server folgt mit IAC SB NEW-ENVIRON SEND IAC SE.
  4. Der Client sendet die injizierte Nutzlast:
IAC SB NEW-ENVIRON IS
  VAR "USER" VALUE "-f root"
IAC SE
  1. telnetd konstruiert den login-Aufruf als login -f root.
  2. login(1) interpretiert -f als „Login erzwingen, Authentifizierung überspringen" und meldet den angegebenen Benutzer (root) ohne Passwortabfrage an.

Protokollebene-Aufschlüsselung

SchrittRichtungTelnet-Bytes (hex)Bedeutung
1S -> CFF FD 27IAC DO NEW-ENVIRON
2C -> SFF FB 27IAC WILL NEW-ENVIRON
3S -> CFF FA 27 01 FF F0IAC SB NEW-ENVIRON SEND IAC SE
4C -> SFF FA 27 00 00 55 53 45 52 01 2D 66 20 72 6F 6F 74 FF F0IAC SB NEW-ENVIRON IS VAR "USER" VALUE "-f root" IAC SE

Warum -f root funktioniert

Das login(1)-Binary auf vielen Linux-Systemen akzeptiert das Flag -f <user> für „vorauthentifizierte" Logins, das historisch von Terminal-Multiplexern und rlogin verwendet wurde. Wenn telnetd seinen exec-Aufruf aufbaut und es versäumt, führende Bindestriche zu entfernen oder optionsähnliche Zeichenfolgen in Umgebungsvariablenwerten zu validieren, übergibt es unbeabsichtigt vom Angreifer kontrollierte Flags direkt an login.

Der effektive Aufruf wird zu:

execve("/bin/login", ["login", "-f", "root"], envp);

Angriffsszenario

Angreifer                                    Verwundbarer telnetd (Port 23)
   |                                                   |
   |------- TCP SYN (Port 23) ----------------------->|
   |<------ TCP SYN-ACK -------------------------------|
   |------- TCP ACK ---------------------------------->|
   |                                                   |
   |<------ Telnet-Banner + IAC DO NEW-ENVIRON --------|
   |------- IAC WILL NEW-ENVIRON --------------------->|
   |<------ IAC SB NEW-ENVIRON SEND IAC SE ------------|
   |                                                   |
   |------- IAC SB NEW-ENVIRON IS                      |
   |        VAR "USER" VALUE "-f root" IAC SE -------->|
   |                                                   |
   |        [telnetd ruft auf: login -f root]          |
   |                                                   |
   |<------ Root-Shell-Eingabeaufforderung (#) --------|
   |                                                   |
   |------- id; whoami; cat /etc/shadow -------------->|
   |<------ uid=0(root) root /etc/shadow-Inhalt -------|

Voraussetzungen:

  • Zielsystem mit GNU InetUtils telnetd (TCP/23 offen)
  • Nicht gepatchte Version von inetutils
  • login(1)-Binary unterstützt das Flag -f (Standard auf den meisten Linux-Distributionen)
  • Keine Firewall, die TCP/23 blockiert

Betroffene Versionen

SoftwareBetroffene VersionenStatus
GNU InetUtils telnetd<= 2.x (spezifische gepatchte Version noch offen)Verwundbar
Distributionen mit nicht gepatchtem GNU inetutilsVerschiedeneHerstellerhinweis prüfen

Prüfen Sie, ob Ihre Distribution eine gepatchte Version ausliefert. Viele moderne Systeme haben Telnet standardmäßig deaktiviert; die Gefährdung erfordert einen explizit laufenden telnetd.

CVSS-Score

MetrikWert
CVSS v3.1 Basis-Score9.8 (Kritisch)
AngriffsvektorNetzwerk
AngriffskomplexitätNiedrig
Erforderliche PrivilegienKeine
BenutzerinteraktionKeine
ScopeUnverändert
VertraulichkeitsauswirkungHoch
IntegritätsauswirkungHoch
VerfügbarkeitsauswirkungHoch
Vektor-StringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

MITRE ATT&CK-Zuordnung

ATT&CK-IDTaktikTechnikRelevanz
T1190Initialer ZugriffAusnutzung öffentlich zugänglicher AnwendungenDirekte Ausnutzung von telnetd über das Netzwerk
T1059AusführungBefehls- und SkriptinterpreterShell-Ausführung nach der Ausnutzung
T1078.004Privilegienerweiterung / Umgehung der VerteidigungGültige Konten: Lokale KontenAuthentifizierungs-Bypass führt zu einer gültigen Root-Sitzung
T1548PrivilegienerweiterungMissbrauch von Erhöhungs-Kontrollmechanismenlogin -f-Flag wird missbraucht, um PAM/Authentifizierung zu umgehen
T1046EntdeckungNetzwerkdienst-EntdeckungMassen-Scan-Komponente des PoC

Installation

Anforderungen: Python 3 (nur Standardbibliothek, null externe Abhängigkeiten).

git clone https://github.com/franckferman/CVE_2026_24061.git
cd CVE_2026_24061

Kein pip install erforderlich. Beide Skripte verwenden nur die Python-Standardbibliothek.

Projektstruktur

Tool herunterladen