🛡️ Executive Summary
- VulnCheck ha trovato ENDLESSDOORS nei firmware di 20 router Zbtlink e white label, con avvio automatico durante il boot.
- L’impianto contatta server esterni e consegna a chi controlla la connessione comandi root o una shell interattiva senza autenticazione.
- Non esiste un firmware corretto: i dispositivi devono essere individuati per modello, segmentati e preferibilmente sostituiti.
VulnCheck ha scoperto una backdoor preinstallata nei firmware di almeno 20 modelli di router Zbtlink, prodotti dalla cinese Shenzhen Zhibotong Electronics e venduti anche con marchi white label. L’impianto, denominato ENDLESSDOORS e registrato come CVE-2026-66747, viene avviato automaticamente durante il boot, contatta server esterni e accetta qualsiasi comando da eseguire con privilegi root. Non sono necessarie credenziali, vulnerabilità aggiuntive o esposizione diretta del router su Internet. Il dispositivo stabilisce autonomamente la connessione verso il comando e controllo, attraversando NAT e normali firewall. VulnCheck non indica una patch disponibile e raccomanda di considerare compromesso il rapporto di fiducia con l’intero firmware.
Cosa leggere
ENDLESSDOORS si nasconde dietro falsi processi kworker
L’impianto viene eseguito come due normali processi userland denominati kworker, scelti per confondersi con i thread del kernel Linux che compaiono abitualmente nei router basati su OpenWrt. I veri kernel worker vengono mostrati tra parentesi quadre e non possiedono una normale occupazione di memoria, mentre i processi malevoli appaiono senza parentesi, utilizzano memoria reale e operano come root. Nel rapporto tecnico dedicato a ENDLESSDOORS, VulnCheck spiega che il componente deriva da rctl, un progetto open source pubblicato su GitHub nel gennaio 2015 per realizzare un semplice client e server di controllo remoto Linux. La variante inserita nei router è stata personalizzata per contattare indirizzi e domini già definiti nel firmware, presentandosi al server con una stringa identificativa e il MAC address della rete locale. L’impianto non appare quindi come il risultato di un attacco successivo all’acquisto, ma come un componente incluso nelle immagini firmware analizzate e avviato attraverso lo script /etc/init.d/skworker. Il caso supera la normale categoria delle vulnerabilità nei dispositivi consumer e richiama la backdoor amministrativa scoperta nei router Tenda senza una patch disponibile, con la differenza che ENDLESSDOORS implementa direttamente un canale persistente di comando e controllo.
Il protocollo esegue ogni comando ricevuto come root
La comunicazione di ENDLESSDOORS non utilizza autenticazione, scambio di chiavi, validazione del server o cifratura. Dopo avere raggiunto il comando e controllo sulla porta 7000, il router invia un messaggio fisso di 39 byte contenente una classe identificativa e il proprio indirizzo MAC. Qualsiasi dato restituito dal server viene passato alla funzione popen() ed eseguito con uid 0, senza una lista di comandi consentiti o una sandbox. La stringa riservata rctlbash ordina inoltre al client di aprire una seconda connessione sulla porta 7001, allocare uno pseudo-terminale e avviare /bin/sh, consegnando una shell root interattiva. VulnCheck ha riprodotto il protocollo nel proprio framework di exploit, ha intercettato la connessione in uscita di un router Z8102AX-2DSIM e ha ottenuto immediatamente il controllo amministrativo dell’apparato. L’assenza di verifica significa che il potere non appartiene necessariamente soltanto al gestore dell’infrastruttura originaria: chiunque riesca a dirottare il DNS, controllare l’indirizzo IP di destinazione o intercettare il percorso di rete può impersonare il server atteso dal router. Questa debolezza rende l’impianto riutilizzabile da attori differenti e trasforma il dispositivo in un accesso remoto permanentemente disponibile.
NAT e firewall non impediscono il controllo remoto
ENDLESSDOORS non apre una porta in ascolto verso Internet, perché è il router stesso a stabilire periodicamente la connessione in uscita. Il traffico attraversa quindi NAT, firewall e molte policy di egress come una normale sessione TCP iniziata dalla rete interna. Un apparato installato in un’abitazione, in una filiale, nel retrobottega di un hotel o all’interno di un veicolo rimane raggiungibile dal server di comando finché può accedere a Internet. La tecnica elimina uno dei principali limiti delle botnet IoT tradizionali, che devono individuare dispositivi pubblicamente esposti o sfruttare vulnerabilità per installare un payload. ENDLESSDOORS è già presente e deve soltanto ricevere ordini. I router possono così diventare proxy per nascondere altre operazioni, punti di osservazione sul traffico locale o teste di ponte verso dispositivi collegati. È lo stesso valore operativo emerso con LongLeash, infrastruttura cinese che usa router compromessi per occultare i cyberattacchi e con le reti residential proxy smantellate da Google perché utilizzate dalle botnet del cybercrime. Nel caso Zbtlink, tuttavia, il proprietario non deve prima cadere in una campagna malware: acquista un dispositivo il cui firmware contiene già il client remoto.
Venti modelli condividono lo stesso impianto
VulnCheck ha analizzato circa due dozzine di immagini disponibili nella pagina di download del produttore e ha confermato ENDLESSDOORS in 21 firmware appartenenti a 20 modelli. L’elenco comprende CPE2801, WE1026-5G-WD, WE1326, WE2007, WE2008-DSIM, WE2416, WE3326, WE5927, WE5931, WE5931AC, WE826-T3-DSIM, WG108, WG1602, WG1608-DSIM, WG209, WG2105, WG2107, WG259, WG3526 e Z8102AX-2DSIM. I dispositivi non vengono venduti soltanto con il marchio Zbtlink: Shenzhen Zhibotong offre servizi OEM e ODM, permettendo ad altre società di commercializzare lo stesso hardware e firmware con loghi differenti, tra cui Wiflyer.

L’inventario deve quindi basarsi sul numero di modello e non sul nome stampato sulla scocca. Tutti i firmware analizzati contattano un insieme limitato di endpoint, tra cui zbtctl.epplink[.]net, online-string[.]com, rbdg4nzqadui.wikaba[.]com e gli indirizzi IP 47.100.190[.]96, 47.107.224[.]89, 45.32.81[.]152 e 43.248.136[.]125. La presenza dell’impianto su architetture e modelli differenti suggerisce una distribuzione sistematica, non un errore isolato in una singola build.
VulnCheck non ha avviato la divulgazione coordinata
VulnCheck ha scelto di non notificare preventivamente Zbtlink, sostenendo che la procedura di coordinated disclosure sia adatta a difetti introdotti involontariamente, non a un componente presente in numerosi firmware, avviato da uno script del produttore e distribuito per anni. Questa è la valutazione del gruppo di ricerca e non equivale, da sola, a una prova pubblica sull’identità o sulle finalità del soggetto che controlla i server. Le evidenze tecniche dimostrano però che i dispositivi contattano infrastrutture esterne e accettano comandi root senza verificare l’origine. Non esiste un firmware corretto sul quale migrare con fiducia, mentre la semplice disattivazione dello script lascia aperto il problema dell’affidabilità complessiva dell’immagine. Per questo il caso deve essere gestito come un device-trust problem, non come una normale vulnerabilità risolvibile con un aggiornamento. La situazione ricorda le botnet che sfruttano router obsoleti per costruire infrastrutture difficili da attribuire, ma aggiunge il rischio di una compromissione originata direttamente dalla catena di fornitura del dispositivo.
I router interessati devono essere sostituiti
Le organizzazioni devono cercare i modelli coinvolti negli inventari di filiali, hotel, cantieri, veicoli, installazioni temporanee e forniture realizzate da appaltatori. Dove è disponibile l’accesso SSH, il comando ps permette di individuare i due processi kworker privi delle parentesi tipiche dei thread del kernel. Sul filesystem devono essere cercati /usr/sbin/kworker, /usr/lib/librctl.so, /etc/kworker.cfg e /etc/init.d/skworker. Firewall, resolver e sistemi IDS devono bloccare e generare avvisi sugli endpoint pubblicati da VulnCheck, sulle connessioni TCP in uscita verso le porte 7000 e 7001 e sui messaggi di registrazione da 39 byte. Il blocco del traffico interrompe il comando remoto conosciuto, ma non rende affidabile il dispositivo. La misura più sicura consiste nel sostituirlo con un prodotto la cui supply chain, politica degli aggiornamenti e provenienza del firmware possano essere verificate. Quando la rimozione immediata non è possibile, il router deve essere isolato dietro controlli di uscita rigidi e la sua rete locale trattata come non attendibile.
Iscriviti alla Newsletter
Non perdere le analisi settimanali: Entra nella Matrice Digitale.
Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.









