
Tozed ZLT X300 5G CPE — Execução Remota de Código como Root via Estação Base Rogue SDR (CVE-2026-2035703, CWE-78, CVSS 9.8) — Divulgação Coordenada
Status: Publicado — divulgação coordenada via CISA ICS e CERT/CC
Descoberto: 2026-08-08
Pesquisador: Muhammad Nadeem Danish (danish1162)
ID CVE: CVE-2026-108576 (atribuído pelo CNA VulDB, publicado em cve.org)
Previamente reservado: CVE-2026-2035703 (MITRE — nunca publicado, substituído por CVE-2026-108576)
Severidade: Crítica (CVSS 10.0)
CWE: CWE-78 (Injeção de Comando do SO)
VulDB: VDB-416233
CERT/CC: VU#138275
GHSA: GHSA-qcpp-vfr2-v242
O roteador Tozed ZLT X300 5G CPE contém uma vulnerabilidade crítica de injeção de comando explorável via rádio por uma estação base LTE fraudulenta (SDR). O cliente TR-069/CWMP do dispositivo (netcwmpd) passa entrada controlada pela rede e não sanitizada para comandos de shell, permitindo execução remota de código como root sem autenticação.
Um atacante operando um rádio definido por software (~US$ 300) dentro do alcance de rádio pode se passar pelo servidor ACS TR-069 da operadora e injetar comandos de shell arbitrários que são executados como root no dispositivo alvo — sem qualquer autenticação, sem qualquer interação do usuário e sem qualquer acesso físico.
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)
O manipulador IPPingDiagnostics em netcwmpd passa o parâmetro Host diretamente para uma string de formato sprintf que constrói um comando de shell:
// 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
O comando é então executado via system() como root. Nenhuma validação de entrada é realizada no parâmetro Host — sem filtragem de caracteres, sem verificação por regex, sem validação de comprimento além do buffer de 512 bytes.
A substituição de comando $() é avaliada dentro de aspas duplas pelo shell POSIX, permitindo a execução de comandos arbitrários.
| Campo | Valor |
|---|---|
| Fabricante | Tozed Kangwei Tech Co., Ltd (Shenzhen, China) |
| Modelo | Roteador CPE 5G ZLT X300 / X300A |
| Firmware | 6.01.0 – 6.01.3 (todas as versões provavelmente afetadas) |
| Arquitetura | aarch64 (MediaTek MT7992) |
| SO | OpenWrt 23.05.5, kernel Linux 5.15.167 |
| Componente | netcwmpd (daemon CWMP) |
| Distribuidor | du / EITC (Emirates Integrated Telecommunications), EAU |
O ZLT X300 é implantado por operadoras em:
Oriente Médio: du (EAU), STC e Mobily (Arábia Saudita), Zain (Kuwait, Bahrein), Ooredoo e Omantel (Omã)
Europa: EE, O2, Three (Reino Unido), Telekom (Alemanha), TIM (Itália), Free Mobile, SFR, Orange (França)
Ásia: Singtel (Singapura), AIS (Tailândia), Smart (Filipinas), Telkomsel (Indonésia)
África: MTN e Vodacom (África do Sul), MTN (Nigéria)
Todo dispositivo com o firmware atual está vulnerável.
Toda a descoberta de vulnerabilidades foi realizada por meio de análise estática de firmware usando IDA Pro — descompilando binários ARM e rastreando os caminhos de execução de código desde a entrada de parâmetros TR-069, passando por sprintf, até os pontos de execução de shell.
Toda a verificação em hardware real e os testes de prova de conceito foram conduzidos em um ambiente de laboratório privado no Paquistão, em equipamento de propriedade pessoal, utilizando um SIM de teste programável sysmocom sysmoISIM-SJA5 (prefixo IMSI 999 — rede de teste reservada pela ITU, não de qualquer operadora comercial) em uma faixa de frequência não ocupada (Banda 7, 2655 MHz — não utilizada por operadoras dos EAU). Nenhuma rede comercial ativa foi afetada, nenhum dispositivo de outros assinantes foi envolvido e nenhuma transmissão foi realizada em qualquer espectro comercial licenciado.
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 no IDA Pro ou Ghidraprocess_ping no endereço 0x463A14Host desde o SetParameterValues do TR-069, passando por sprintf, até o comando de shellsystem()| Data | Ação |
|---|---|
| 2026-08-08 | Vulnerabilidade descoberta por meio de análise estática de firmware |
| 2026-08-14 | Reportada ao fabricante (Tozed Kangwei) e ao MITRE |
| 2026-08-14 | CVE-2026-2035703 reservado pelo MITRE (nunca publicado) |
| 2026-08-22 | O fabricante (departamento de marketing, sem PSIRT) alegou que já estava "corrigido" — nenhuma evidência fornecida |
| 2026-08-24–25 | O fabricante perguntou sobre o cartão SIM 3 vezes em vez de responder às perguntas técnicas |
| 2026-08-26 | Escalado para o PSIRT da ZTE ([email protected]) |
| 2026-08-27 | O fabricante recusou-se a se envolver — "entre em contato com o seu vendedor" |
| 2026-08-29 | O PSIRT da ZTE confirmou: "não é um produto ZTE" — declinou responsabilidade |
| 2026-08-29 | Escalado para CERTs nacionais |
| 2026-09-10 | CERT/CC ativou o caso VINCE VU#138275 |
| 2026-09-18 | CISA ICS envolvida — elaborando comunicado |
| 2026-10-10 | CVE-2026-108576 atribuído pelo CNA da VulDB, publicado em cve.org |
O fabricante (Tozed Kangwei) não possui uma Equipe de Resposta a Incidentes de Segurança de Produto (PSIRT). Toda a correspondência veio do seu departamento de Marketing Global. Eles alegaram que a vulnerabilidade já estava "corrigida", mas não conseguiram fornecer um número de CVE, uma versão de firmware corrigida ou um comunicado de segurança. Não existe nenhum registro público de qualquer correção anterior no NVD, OpenCVE, CVE Details ou nas próprias publicações do fabricante.