Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-19586 — Python-PoC, das CVE-2026-19586 ausnutzt, eine unauthentifizierte Command-Injection in TP-Link Omada SSL VPN, die über OpenVPN-Benutzernamen-Injection beliebige Befehle als root ausführt. | Kitploit
Tools/GitHubGitHub/mattgsys/cve-2026-19586
Embedded-System-SicherheitIoT-SicherheitSchwachstellenanalyseExploitationNetzwerksicherheitKryptographiePenetrationstestsCommand and ControlRemote-Access-Tool
GitHubmattgsys/cve-2026-19586

CVE-2026-19586

Python-PoC, das CVE-2026-19586 ausnutzt, eine unauthentifizierte Command-Injection in TP-Link Omada SSL VPN, die über OpenVPN-Benutzernamen-Injection beliebige Befehle als root ausführt.

1vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigenWebseite

CVE-2026-19586 (PoC)

TP-Link Omada SSL VPN Unauthenticated RCE (CVE-2026-19586)

Übersicht

Eine Command-Injection-Schwachstelle (CWE-78) im SSL-VPN-Authentifizierungspfad der TP-Link Omada Gateway-Firmware ermöglicht es einem nicht authentifizierten Angreifer, beliebige Befehle als root auszuführen. Wenn der OpenVPN-basierte SSL-VPN-Server aktiviert ist, übergibt OpenVPN den vom verbindenden Client übermittelten Benutzernamen an /usr/sbin/checkpsw.sh, das Skript, das an die auth-user-pass-verify-Direktive gebunden ist. Dieses Skript fügt den Benutzernamen unquotiert in ein awk-Programm ein, sodass ein Benutzername, der ein doppeltes Anführungszeichen enthält, das awk-String-Literal schließt, in das er eingefügt wird, und der Rest als awk-Quellcode geparst wird.

Ein awk-BEGIN-Block wird einmal ausgeführt, bevor die erste Eingabezeile gelesen wird, sodass der injizierte system()-Aufruf ausgeführt wird, bevor das übermittelte Passwort mit irgendetwas verglichen wird – als root.

Der Server erfordert kein Client-Zertifikat und enthält keinen tls-auth- oder tls-crypt-Schlüssel, und sein CA-Zertifikat ist fest in das Firmware-Image eingebettet. Die ca.crt in diesem Repository ist dieses Zertifikat und ist auf jedem Gerät mit der betroffenen Firmware identisch, sodass jeder Angreifer, der den VPN-Port erreichen kann, den TLS-Handshake abschließen und die Injection ohne Anmeldedaten und ohne vorherigen Zugriff auf das Gerät erreichen kann.

Der Benutzername darf keine wörtlichen Leerzeichen enthalten, da die Shell die unquotierte Expansion in separate Argumente aufteilt, bevor awk sie sieht. Verwenden Sie stattdessen ${IFS}, was die von system() aufgerufene Shell wieder in ein Leerzeichen expandiert. OpenVPN begrenzt den Benutzernamen auf 128 Bytes; das Payload-Gerüst verwendet davon 22, sodass 106 für den Befehl übrig bleiben.

Dieser Proof of Concept (PoC) wurde gegen den TP-Link Omada ER7212PC v2 (Firmware 6.1.0.19) getestet. Das verwundbare Skript wird über die gesamte Omada-Gateway-Reihe hinweg geteilt; Pfade, Zeilennummern und Verhalten können bei anderen Modellen oder Firmware-Versionen abweichen.

Warnung

Dieser PoC liefert eine Benutzernamen-Payload, die als root auf dem Zielgerät ausgeführt wird. Dieses Problem wurde an TP-Link gemeldet und in den im Advisory aufgeführten Firmware-Versionen behoben; führen Sie dies nur gegen Hardware aus, die Ihnen gehört oder für deren Test Sie ausdrücklich autorisiert sind.

Verwendung

root@kitploit:~
$ sudo python3 cve-2026-19586.py <target> -c '<command>'

Der openvpn-Client ist erforderlich und muss als root ausgeführt werden, da er CAP_NET_ADMIN benötigt, um das tun-Gerät zu erstellen. Dies ist eine Anforderung des lokalen OpenVPN-Clients, nicht des Ziels.

Beispielausführung:

root@kitploit:~
$ sudo python3 cve-2026-19586.py 10.0.0.100 -c 'id>/tmp/proof'

TP-Link Omada SSL VPN Unauthenticated RCE (CVE-2026-19586) - OpenVPN Username Injection
  Target      : 10.0.0.100:1194/udp
  CA cert     : ca.crt
  Command     : id>/tmp/proof
  Username    : x";BEGIN{system("id>/tmp/proof")};#

[*] Running: openvpn --client --dev tun --proto udp --remote 10.0.0.100 1194 --resolv-retry 1 --nobind --ca ca.crt --remote-cert-tls server --cipher AES-256-CBC --data-ciphers-fallback AES-256-CBC --reneg-sec 0 --auth-user-pass /tmp/ovpn_creds_m0ycjowy.txt --auth-nocache --verb 3

[openvpn client output]

Der Befehl wird auf dem Gerät ausgeführt, bevor die Authentifizierung abgeschlossen ist, sodass der OpenVPN-Client selbst keine Verbindung herstellen wird. Der Authentifizierungsversuch schlägt fehl und der Client beendet sich, was zu erwarten ist.

Links

  • Vollständiger Writeup: https://mattg.systems/posts/cve-2026-19586/
  • CVE-Eintrag: https://www.cve.org/cverecord?id=CVE-2026-19586
  • TP-Link Security Advisory: https://www.tp-link.com/us/support/faq/5256/
Tool herunterladen
ArgumentBeschreibung
targetZielgerät-IP oder Hostname
-c, --commandBefehl, der als root auf dem Ziel ausgeführt werden soll. Verwenden Sie ${IFS} anstelle von Leerzeichen
-p, --portSSL-VPN-UDP-Port (Standard: 1194)
--caAus der Firmware extrahiertes CA-Zertifikat (Standard: ca.crt)