
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: Sob divulgação coordenada (embargo de 90 dias)
Descoberta: 2026-08-08
Pesquisador: Muhammad Nadeem Danish (danish1162)
ID CVE: CVE-2026-2035703
Gravidade: Crítica (CVSS 9.8)
CWE: CWE-78 (Injeção de Comandos do Sistema Operacional)
O roteador CPE 5G Tozed ZLT X300 contém uma vulnerabilidade crítica de injeção de comandos explorável via rádio (over-the-air) por meio de uma estação rádio base LTE rogue (SDR). O cliente TR-069/CWMP do dispositivo (netcwmpd) passa entrada não sanitizada controlada pela rede para comandos 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 shell arbitrários que são executados como root no dispositivo alvo — com zero autenticação, zero interação do usuário e zero acesso físico.
SDR do atacante (~US$ 300)
↓
eNodeB LTE rogue (srsRAN, banda de frequência de teste)
↓ Sinal mais forte → X300 conecta automaticamente
EPC rogue atribui IP (172.16.0.x)
↓
Impersonação do ACS TR-069 (via DHCP Option 43)
↓
SetParameterValues: IPPingDiagnostics.Host = $(telnetd -l /bin/sh -p 4444)
↓
Dispositivo executa: ping "$(telnetd -l /bin/sh -p 4444)" como root
↓
SHELL ROOT na porta 4444 — uid=0(root) gid=0(root)
O manipulador IPPingDiagnostics no netcwmpd passa o parâmetro Host diretamente para uma string de formato sprintf que constrói um comando shell:
// Decompilado do netcwmpd em 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 = parâmetro TR-069 não sanitizado
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 de 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 execução arbitrária de comandos.
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 (Cingapura), AIS (Tailândia), Smart (Filipinas), Telkomsel (Indonésia)
África: MTN e Vodacom (África do Sul), MTN (Nigéria)
Todos os dispositivos com o firmware atual estão vulneráveis.
Toda a descoberta da vulnerabilidade foi realizada por meio de análise estática de firmware usando IDA Pro — decompilando binários ARM e rastreando caminhos de execução de código desde a entrada do parâmetro TR-069 até os sinks de execução shell via sprintf.
Toda a verificação de hardware ao vivo e os testes de prova de conceito foram conduzidos em um ambiente de laboratório privado no Paquistão, em equipamentos de propriedade pessoal, usando um cartão SIM de teste programável sysmocom sysmoISIM-SJA5 (prefixo IMSI 999 — rede de teste reservada pela ITU, não qualquer operadora comercial) em uma banda de frequência desocupada (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 espectro comercial licenciado.
advisory/
TECHNICAL_REPORT.md Análise completa da vulnerabilidade com decompilação IDA
VENDOR_ADVISORY.md Notificação ao fabricante formatada
MITRE_CVE_REQUEST.md Detalhes do registro CVE
ZTE_PSIRT_EMAIL.md Registro da comunicação com o fabricante
netcwmpd no IDA Pro ou Ghidraprocess_ping no endereço 0x463A14Host desde o SetParameterValues do TR-069 até o comando shell via sprintfsystem()O fabricante (Tozed Kangwei) não possui Equipe de Resposta a Incidentes de Segurança de Produto (PSIRT). Toda a correspondência veio do departamento de Marketing Global. Eles alegaram que a vulnerabilidade estava "já corrigida", mas não puderam fornecer um número CVE, versão de firmware corrigida ou aviso de segurança. Nenhum registro público de correção anterior existe no NVD, OpenCVE, CVE Details ou nas publicações do próprio fabricante.
Toda a pesquisa foi realizada em hardware de propriedade pessoal em um laboratório privado usando credenciais de rede de teste reservadas pela ITU (MCC 999). Nenhum acesso não autorizado a qualquer sistema. Nenhuma rede comercial ativa foi afetada. Divulgação coordenada em andamento.
Esta pesquisa é fornecida apenas para testes de segurança autorizados, remediação pelo fabricante e pesquisa acadêmica. Não para acesso não autorizado ou uso malicioso.
| Campo | Valor |
|---|
| Fabricante | Tozed Kangwei Tech Co., Ltd (Shenzhen, China) |
| Modelo | Roteador CPE 5G ZLT X300 / X300A |
| Firmware | 6.01.3 (testado) — acredita-se que afeta todas as versões de firmware |
| 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 |
| Data | Ação |
|---|
| 2026-08-08 | Vulnerabilidade descoberta via análise estática de firmware |
| 2026-08-14 | Reportada ao fabricante (Tozed Kangwei) e à MITRE |
| 2026-08-14 | CVE-2026-2035703 atribuído pela MITRE |
| 2026-08-22 | Fabricante (departamento de marketing, sem PSIRT) alegou "já corrigido" — nenhuma evidência fornecida |
| 2026-08-24–25 | Fabricante perguntou sobre o cartão SIM 3 vezes em vez de responder perguntas técnicas |
| 2026-08-26 | Escalado para o PSIRT da ZTE ([email protected]) |
| 2026-08-27 | Fabricante recusou-se a engajar — "entre em contato com seu vendedor" |
| 2026-08-29 | PSIRT da ZTE confirmou: "não é produto ZTE" — recusou responsabilidade |
| 2026-08-29 | Escalado para CERTs nacionais |
| 2026-11-14 | Divulgação pública planejada (90 dias a partir do relatório inicial) |