Katalog CVE

CVE-2026-66747

KrytyczneCVSS 9.8
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Oprogramowanie routerów Zbtlink zawiera wbudowany implant zdalnego sterowania ENDLESSDOORS, obecny w każdej opublikowanej kompilacji. Jest to narzędzie open-source ycsunjane/rctl zbudowane jako pakiet OpenWrt (librctl.so), uruchamiane przy starcie jako root pod nazwą procesu kworker. Nie otwiera portu nasłuchującego; łączy się przez czysty TCP z zakodowanym serwerem C2 (kanał poleceń 7000, zwrotny interaktywny shell 7001) bez uwierzytelniania i szyfrowania, ponawiając kontakt co około 35 sekund. Obsługa poleceń przekazuje dowolny otrzymany ciąg do popen() jako uid=0, a zarezerwowane polecenie rctlbash zwraca interaktywną powłokę root. Ponieważ kanał jest nieuwierzytelniony i jawny, kontrola nie jest ograniczona do tego, kto go zainstalował: każda strona, która odpowiada na adresie C2, zajmuje ścieżkę sieciową (DNS lub przejęcie trasy) lub uzyska zakodowaną domenę zapasową, uzyskuje nieuwierzytelnione zdalne wykonanie kodu jako root.

Ocena ryzyka

Obecność backdoora umożliwia nieautoryzowanym stronom pełną kontrolę nad routerem, co może prowadzić do przechwycenia ruchu, kradzieży danych i wykorzystania urządzenia do dalszych ataków.

Rekomendacja

Należy natychmiast wycofać z użytkowania routery Zbtlink z tym oprogramowaniem, sprawdzić, czy nie zostały naruszone, i skontaktować się z producentem w celu uzyskania bezpiecznego oprogramowania.

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS