TP-Link Archer C64 Web UI Rate-Limit Bypass via Residual Debug SSH Service (CVE-2026-8697)
Published: 2026-07-05 • Researcher: Tanjim Kamal ([tanjim.org](https://tanjim.org), [itzmetanjim](https://github.com/itzmetanjim))
- Severity
- Critical
- CVE
- CVE-2026-8697
- Category
- network
- Affected product
- TP-Link Archer C64 router firmware ("TPOS")
- Affected versions
- Firmware prior to 1.15.0 Build 250729
- Disclosed
- 2026-07-05
- Patch status
- Unverified
References
Archive entry
intelseclab/poc-archiveOn this page
Metadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-05 |
| Author / Researcher | Tanjim Kamal (tanjim.org, itzmetanjim) |
| CVE / Advisory | CVE-2026-8697 |
| Category | network |
| Severity | Critical |
| CVSS Score | 9.3 (CVSS 4.0: AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:H — researcher rating; vendor rated 8.7 High) |
| Status | PoC |
| Tags | tplink, archer-c64, router, ssh, rate-limit-bypass, authentication-oracle, brute-force, iot |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | TP-Link Archer C64 router firmware (“TPOS”) |
| Versions Affected | Firmware prior to 1.15.0 Build 250729 |
| Language / Platform | Embedded router OS (TPOS) |
| Authentication Required | No (attacker only needs Wi-Fi/LAN adjacency) |
| Network Access Required | Yes (must be connected to the router’s network) |
Summary
The TP-Link Archer C64 exposes a residual debug SSH service (port 22) that does not grant a shell — it simply closes the connection once a password is entered — but validates the password against the same credential used by the router’s web admin interface, with no rate limiting or lockout. Because the web UI does enforce rate limiting, this leftover SSH service serves as a high-speed authentication oracle: any device connected to the router’s network (including a compromised or malicious IoT device) can brute-force the admin password over SSH and then use it to log into the web management interface with full admin rights.
Vulnerability Details
Root Cause
A debug/diagnostic SSH service (“TPOS 5 IPSSH Test”) shares the admin web-UI credential but implements no rate limiting, lockout, or throttling, unlike the web login form — a purely logic-based flaw (CWE: missing rate limiting / authentication oracle), not a memory-safety issue.
Attack Vector
- Attacker device connects to the router’s Wi-Fi/LAN (adjacent network access).
- Attacker connects to the residual SSH service on port 22 (requires legacy KEX/host-key algorithms such as
diffie-hellman-group1-sha1/ssh-dss). - Attacker scripts repeated password attempts against the SSH prompt; each attempt returns a clear success/failure signal (connection behavior differs for correct vs. incorrect password) with no throttling.
- Once the correct password is found, the attacker logs into the web admin interface using the same credential, gaining full administrative control of the router (DNS hijacking, Wi-Fi password change, port forwarding, firewall/ALG disable, etc.).
Impact
Full compromise of router administration by any device with network adjacency (including compromised/malicious IoT devices), enabling DNS hijacking, traffic interception, denial of network access, and other high-impact network manipulation.
Environment / Lab Setup
Target: TP-Link Archer C64 router, firmware < 1.15.0 Build 250729, admin password unknown to attacker
Attacker: Any device with Wi-Fi/LAN access to the router (e.g. a Linux host with a legacy-SSH-capable client,
such as a debian:bullseye-slim container)Proof of Concept
PoC Script
See
poc.pyin this folder.
| |
Multiple instances can be run in parallel against different password-list shards for higher throughput (beyond ~3 parallel instances, connection errors increase but all passwords are still eventually tried). Manual verification that a target router is vulnerable:
| |
poc.py connects to the debug SSH service using pexpect (not pxssh, since multiple passwords per connection are needed), iterates candidate passwords, and reports the correct one based on the connection’s response behavior.
Detection & Indicators of Compromise
Signs of compromise:
- High-frequency SSH connection attempts to the router’s port 22 from a single LAN client.
- Successful admin web-UI logins immediately following a burst of SSH connection attempts from the same device.
- Unexpected changes to DNS settings, Wi-Fi password, port forwarding, or firewall/ALG configuration.
Remediation
| Action | Detail |
|---|---|
| Primary fix | Update router firmware to 1.15.0 Build 250729 or later, which removes the debug SSH service |
| Interim mitigation | Restrict LAN/Wi-Fi access to trusted devices; monitor for repeated SSH connection attempts to the router |
References
Notes
Mirrored from https://github.com/itzmetanjim/cve-2026-8697 on 2026-07-05. Discovered incidentally during an Nmap scan of the researcher’s own home router; hardcoded lab target is 192.168.0.1.
| |