
Tozed ZLT X300 5G CPE — Remote Root Code Execution über SDR-Rogue-Basisstation (CVE-2026-2035703, CWE-78, CVSS 9.8) — Koordinierte Offenlegung
Status: Veröffentlicht — koordinierte Offenlegung über CISA ICS und CERT/CC
Entdeckt: 2026-08-08
Forscher: Muhammad Nadeem Danish (danish1162)
CVE-ID: CVE-2026-108576 (zugewiesen von VulDB CNA, veröffentlicht auf cve.org)
Zuvor reserviert: CVE-2026-2035703 (MITRE — nie veröffentlicht, ersetzt durch CVE-2026-108576)
Schweregrad: Kritisch (CVSS 10.0)
CWE: CWE-78 (OS Command Injection)
VulDB: VDB-416233
CERT/CC: VU#138275
GHSA: GHSA-qcpp-vfr2-v242
Der Tozed ZLT X300 5G CPE-Router enthält eine kritische Command-Injection-Schwachstelle, die über eine Rogue-LTE-Basisstation (SDR) drahtlos ausnutzbar ist. Der TR-069/CWMP-Client des Geräts (netcwmpd) übergibt nicht bereinigte, netzwerkgesteuerte Eingaben an Shell-Befehle, wodurch eine nicht authentifizierte Remote-Root-Code-Execution ermöglicht wird.
Ein Angreifer, der ein Software Defined Radio (ca. 300 USD) innerhalb der Funkreichweite betreibt, kann sich als TR-069-ACS-Server des Mobilfunkanbieters ausgeben und beliebige Shell-Befehle einschleusen, die als root auf dem Zielgerät ausgeführt werden — ohne Authentifizierung, ohne Benutzerinteraktion und ohne physischen Zugriff.
Attacker's SDR (~$300)
↓
Rogue LTE eNodeB (srsRAN, test frequency band)
↓ Strongest signal → X300 auto-connects
Rogue EPC assigns IP (172.16.0.x)
↓
TR-069 ACS impersonation (via DHCP Option 43)
↓
SetParameterValues: IPPingDiagnostics.Host = $(telnetd -l /bin/sh -p 4444)
↓
Device executes: ping "$(telnetd -l /bin/sh -p 4444)" as root
↓
ROOT SHELL on port 4444 — uid=0(root) gid=0(root)
Der IPPingDiagnostics-Handler in netcwmpd übergibt den Parameter Host direkt an eine sprintf-Formatzeichenkette, die einen Shell-Befehl erzeugt:
// Decompiled from netcwmpd at 0x463E6C (IDA Pro)
sprintf(cmd,
"ping%s -c %d -s %d -W %u%s \"%s\" > /tmp/.tr069_pingtest.log",
ipv4_flag, repetitions, block_size, timeout, interface,
HOST); // HOST = unsanitized TR-069 parameter
Der Befehl wird dann über system() als root ausgeführt. Es findet keine Eingabevalidierung des Host-Parameters statt — keine Zeichenfilterung, keine Regex-Prüfung, keine Längenvalidierung über den 512-Byte-Puffer hinaus.
Die $()-Befehlssubstitution wird innerhalb von doppelten Anführungszeichen von der POSIX-Shell ausgewertet, was die Ausführung beliebiger Befehle ermöglicht.
| Feld | Wert |
|---|---|
| Hersteller | Tozed Kangwei Tech Co., Ltd (Shenzhen, China) |
| Modell | ZLT X300 / X300A 5G CPE Router |
| Firmware | 6.01.0 – 6.01.3 (alle Versionen vermutlich betroffen) |
| Architektur | aarch64 (MediaTek MT7992) |
| OS | OpenWrt 23.05.5, Linux-Kernel 5.15.167 |
| Komponente | netcwmpd (CWMP-Daemon) |
| Distributor | du / EITC (Emirates Integrated Telecommunications), VAE |
Der ZLT X300 wird von Mobilfunkanbietern eingesetzt in:
Naher Osten: du (VAE), STC und Mobily (Saudi-Arabien), Zain (Kuwait, Bahrain), Ooredoo und Omantel (Oman)
Europa: EE, O2, Three (UK), Telekom (Deutschland), TIM (Italien), Free Mobile, SFR, Orange (Frankreich)
Asien: Singtel (Singapur), AIS (Thailand), Smart (Philippinen), Telkomsel (Indonesien)
Afrika: MTN und Vodacom (Südafrika), MTN (Nigeria)
Jedes Gerät mit aktueller Firmware ist angreifbar.
Die gesamte Schwachstellenerkennung wurde durch statische Firmware-Analyse mit IDA Pro durchgeführt — Dekompilierung von ARM-Binaries und Nachverfolgung der Codeausführungspfade von der TR-069-Parametereingabe über sprintf bis zu Shell-Ausführungssenken.
Alle Verifikationen an echter Hardware und Proof-of-Concept-Tests wurden in einer privaten Laborumgebung in Pakistan an persönlich eigener Hardware durchgeführt, unter Verwendung einer programmierbaren Test-SIM sysmocom sysmoISIM-SJA5 (IMSI-Präfix 999 — von der ITU reserviertes Testnetz, kein kommerzieller Anbieter) auf einem unbelegten Frequenzband (Band 7, 2655 MHz — von VAE-Anbietern nicht genutzt). Kein kommerzielles Live-Netz war betroffen, keine Geräte anderer Teilnehmer waren involviert, und es wurden keine Übertragungen auf lizenziertem kommerziellen Spektrum durchgeführt.
advisory/
TECHNICAL_REPORT.md Full vulnerability analysis with IDA decompilation
VENDOR_ADVISORY.md Formatted vendor notification
MITRE_CVE_REQUEST.md CVE record details
ZTE_PSIRT_EMAIL.md Record of vendor communication
netcwmpd in IDA Pro oder Ghidraprocess_ping an Adresse 0x463A14Host von TR-069 SetParameterValues über sprintf bis in den Shell-Befehlsystem()-Aufruf keine Eingabebereinigung erfolgt| Datum | Maßnahme |
|---|---|
| 2026-08-08 | Schwachstelle durch statische Firmware-Analyse entdeckt |
| 2026-08-14 | Gemeldet an Hersteller (Tozed Kangwei) und MITRE |
| 2026-08-14 | CVE-2026-2035703 von MITRE reserviert (nie veröffentlicht) |
| 2026-08-22 | Hersteller (Marketingabteilung, kein PSIRT) behauptete „bereits behoben“ — keine Belege vorgelegt |
| 2026-08-24–25 | Hersteller fragte dreimal nach der SIM-Karte, statt technische Fragen zu beantworten |
| 2026-08-26 | Eskaliert an ZTE PSIRT ([email protected]) |
| 2026-08-27 | Hersteller verweigerte Stellungnahme — „wenden Sie sich an Ihren Verkäufer“ |
| 2026-08-29 | ZTE PSIRT bestätigte: „kein ZTE-Produkt“ — lehnte Verantwortung ab |
| 2026-08-29 | Eskaliert an nationale CERTs |
| 2026-09-10 | CERT/CC aktivierte VINCE-Fall VU#138275 |
| 2026-09-18 | CISA ICS eingeschaltet — Advisory in Ausarbeitung |
| 2026-10-10 | CVE-2026-108576 durch VulDB CNA zugewiesen, veröffentlicht auf cve.org |
Der Hersteller (Tozed Kangwei) verfügt über kein Product Security Incident Response Team (PSIRT). Die gesamte Korrespondenz stammte aus deren Global Marketing-Abteilung. Sie behaupteten, die Schwachstelle sei „bereits behoben“, konnten jedoch weder eine CVE-Nummer noch eine gepatchte Firmware-Version oder eine Sicherheitsmitteilung vorlegen. Es existiert kein öffentlicher Nachweis einer früheren Behebung auf NVD, OpenCVE, CVE Details oder in den eigenen Veröffentlichungen des Herstellers.