
Proof-of-Concept-Exploit für die TP-Link-TDDP-Authentifizierungsumgehung (CVE-2026-0834), das manipulierte Pakete sendet, um administrative Befehle wie Werksreset und Neustart auf Geräten im lokalen Netzwerk auszuführen.
Umgehung der Authentifizierung im TP-Link Device Debug Protocol (TDDP) (CVE-2026-0834)
Eine Schwachstelle im TDDP-Dienst (TP-Link Device Debug Protocol) ermöglicht es nicht authentifizierten Remote-Angreifern im lokalen Netzwerk, administrative Befehle auszuführen. Bei der Verarbeitung von TDDPv2-Paketen führt ein pktLength-Wert von 0 dazu, dass die DES-Entschlüsselungsroutine aufgrund einer Kurzschlussauswertung übersprungen wird. Daten, die über den 28-Byte-Paketkopf hinaus gesendet werden, werden in den Puffer gelegt, in dem entschlüsselte Nutzdaten erwartet werden, wodurch die Authentifizierung umgangen wird und die Daten als gültige Befehlsdaten interpretiert werden können.
Angreifer können dies ausnutzen, um administrative Funktionen wie Werksreset und Geräteneustart ohne Anmeldedaten auszuführen.
Diese Schwachstelle betrifft die Implementierung des TDDP-Dienstes. Bei allen analysierten Firmware-Versionen wurde festgestellt, dass das anfällige Codemuster in tddp_parserHandler() vorhanden ist. Allerdings ist TDDP nicht bei allen TP-Link-Geräten standardmäßig aktiviert.
Dieser Proof of Concept (PoC) wurde für den TP-Link Archer C20 V6 (Firmware 0.9.1 Build 4.19/4.20) erstellt. Speicheroffsets, Befehlsstrukturen und Ausnutzungstechniken können bei anderen Gerätemodellen oder Firmware-Versionen abweichen.
Dieser PoC führt einen Werksreset und Neustart auf dem Zielgerät durch. Die gesamte Konfiguration wird gelöscht.
$ python3 cve-2026-0834.py
[*] Ziel: 192.168.0.1:1040
[*] Sende Werksreset-Befehl (0x49)...
[+] Antwort von ('192.168.0.1', 1040): 020701000000001000010000f876a43eae343258cfd6e426a435156bc3813de141e9a2162714388fe3af8e0c
[*] Warte 1 Sekunde...
[*] Sende Neustart-Befehl (0x4A)...
[+] Antwort von ('192.168.0.1', 1040): 0207010000000010000100009b0361efe2560a92e1e6feba5bfe21cec3813de141e9a216660a7b69eca4e234
Bearbeiten Sie TARGET_IP im Skript, damit es der IP-Adresse des Zielgeräts entspricht.