
TP-Link TDDP 인증 우회(CVE-2026-0834)에 대한 개념 증명 익스플로잇으로, 제작된 패킷을 전송하여 로컬 네트워크 장치에서 공장 초기화 및 재부팅과 같은 관리 명령을 실행합니다.
TP-Link 장치 디버그 프로토콜(TDDP) 인증 우회 (CVE-2026-0834)
TDDP(TP-Link Device Debug Protocol) 서비스의 취약점으로 인해 로컬 네트워크의 인증되지 않은 원격 공격자가 관리 명령을 실행할 수 있습니다. TDDPv2 패킷을 처리할 때 pktLength 값이 0이면 단락 평가(short-circuit evaluation)로 인해 DES 복호화 루틴이 건너뛰어집니다. 28바이트 패킷 헤더를 초과하여 전송된 데이터는 복호화된 페이로드 데이터가 예상되는 버퍼에 배치되어 인증을 우회하고 유효한 명령 데이터로 해석될 수 있습니다.
공격자는 이를 악용하여 자격 증명 없이 공장 초기화 및 장치 재부팅을 포함한 관리 기능을 실행할 수 있습니다.
이 취약점은 TDDP 서비스 구현에 영향을 미칩니다. 분석된 모든 펌웨어 버전에서 tddp_parserHandler()에 취약한 코드 패턴이 존재하는 것으로 확인되었습니다. 그러나 모든 TP-Link 장치에서 TDDP가 기본적으로 활성화되어 있는 것은 아닙니다.
이 PoC(Proof of Concept)는 TP-Link Archer C20 V6(펌웨어 0.9.1 Build 4.19/4.20)용으로 제작되었습니다. 메모리 오프셋, 명령 구조 및 악용 기법은 다른 장치 모델이나 펌웨어 버전에 따라 다를 수 있습니다.
이 PoC는 대상 장치에서 공장 초기화 및 재부팅을 수행합니다. 모든 구성이 삭제됩니다.
$ python3 cve-2026-0834.py
[*] Target: 192.168.0.1:1040
[*] Sending factory reset command (0x49)...
[+] Response from ('192.168.0.1', 1040): 020701000000001000010000f876a43eae343258cfd6e426a435156bc3813de141e9a2162714388fe3af8e0c
[*] Waiting 1 second...
[*] Sending reboot command (0x4A)...
[+] Response from ('192.168.0.1', 1040): 0207010000000010000100009b0361efe2560a92e1e6feba5bfe21cec3813de141e9a216660a7b69eca4e234
스크립트 내의 TARGET_IP를 대상 장치의 IP 주소에 맞게 수정하세요.