
Prova de conceito de exploit para bypass de autenticação TP-Link TDDP (CVE-2026-0834) que envia pacotes personalizados para executar comandos administrativos como reset de fábrica e reinicialização em dispositivos da rede local.
Bypass de Autenticação no Protocolo de Depuração de Dispositivos TP-Link (TDDP) (CVE-2026-0834)
Uma vulnerabilidade no serviço TDDP (Protocolo de Depuração de Dispositivos TP-Link) permite que atacantes remotos não autenticados na rede local executem comandos administrativos. Ao processar pacotes TDDPv2, um valor de pktLength igual a 0 faz com que a rotina de descriptografia DES seja ignorada devido à avaliação de curto-circuito. Os dados enviados além do cabeçalho de pacote de 28 bytes são colocados no buffer onde os dados de payload descriptografados são esperados, contornando a autenticação e permitindo que sejam interpretados como dados de comando válidos.
Os atacantes podem explorar isso para executar funções administrativas, incluindo redefinição de fábrica e reinicialização do dispositivo, sem credenciais.
Esta vulnerabilidade afeta a implementação do serviço TDDP. Todas as versões de firmware analisadas apresentaram o padrão de código vulnerável em tddp_parserHandler(). No entanto, nem todos os dispositivos TP-Link têm o TDDP habilitado por padrão.
Esta Prova de Conceito (PoC) foi criada para o TP-Link Archer C20 V6 (firmware 0.9.1 Build 4.19/4.20). Os offsets de memória, estruturas de comando e técnicas de exploração podem diferir em outros modelos de dispositivos ou versões de firmware.
Esta PoC executa uma redefinição de fábrica e reinicialização no dispositivo alvo. Toda a configuração será apagada.
$ python3 cve-2026-0834.py
[*] Alvo: 192.168.0.1:1040
[*] Enviando comando de redefinição de fábrica (0x49)...
[+] Resposta de ('192.168.0.1', 1040): 020701000000001000010000f876a43eae343258cfd6e426a435156bc3813de141e9a2162714388fe3af8e0c
[*] Aguardando 1 segundo...
[*] Enviando comando de reinicialização (0x4A)...
[+] Resposta de ('192.168.0.1', 1040): 0207010000000010000100009b0361efe2560a92e1e6feba5bfe21cec3813de141e9a216660a7b69eca4e234
Edite o TARGET_IP dentro do script para corresponder ao endereço IP do dispositivo alvo.