CVE-2026-66747
Zbtlink router firmware ships an embedded remote-control implant, ENDLESSDOORS, present in every published build across the product line. It is the open-source ycsunjane/rctl tool built in as an OpenWrt package (librctl.so), started at boot and run as root under the process name kworker to blend in with the kernel's [kworker/*] threads. It opens no listening port; it phones home over cleartext TCP to a hardcoded command-and-control server (command channel 7000, interactive-shell callback 7001) with no authentication and no transport encryption, re-attempting contact roughly every 35 seconds. Its command handler passes any received string to popen() as uid=0, and a reserved rctlbash command returns an interactive root shell. Because the channel is unauthenticated and cleartext, control is not limited to whoever planted it: any party that answers at the C2 address, occupies the network path (DNS or route hijack), or acquires the hardcoded fallback domain obtains unauthenticated remote code execution as root.
- Score
- CVSS 3.1 9.8 Critical
- Status
- Deferred - disclosure@vulncheck.com
- Published
- 2026-08-05
- Last modified
- 2026-08-05
- Weaknesses
- CWE-506
Affected products
- Cpe2801 Firmware (Zbtlink)
- We1026-5g-wd Firmware (Zbtlink)
- We1326 Firmware (Zbtlink)
- We2007 Firmware (Zbtlink)
- We2008-dsim Firmware (Zbtlink)
- We2416 Firmware (Zbtlink)
- We3326 Firmware (Zbtlink)
- We5927 Firmware (Zbtlink)
- We5931 Firmware (Zbtlink)
- We5931ac Firmware (Zbtlink)
- We826-t3-dsim Firmware (Zbtlink)
- Wg108 Firmware (Zbtlink)
- Wg1602 Firmware (Zbtlink)
- Wg1608-dsim Firmware (Zbtlink)
- Wg209 Firmware (Zbtlink)
- Wg2105 Firmware (Zbtlink)
- Wg2107 Firmware (Zbtlink)
- Wg259 Firmware (Zbtlink)
- Wg3526 Firmware (Zbtlink)
- Z8102ax Firmware (Zbtlink)
References
- https://github.com/ycsunjane/rctl
- https://www.vulncheck.com/advisories/zbt-endlessdoors
- https://www.vulncheck.com/blog/zbt-endlessdoors
- https://www.zbtlink.com/pages/zbt-router-firmware-download