
Relatório técnico e PoC autenticado de reverse-shell para CVE-2026-96515, uma falha de execução de comandos como root no manipulador de importação de diagnóstico BOA do roteador Netlink HG323RW.
Um usuário web limitado autenticado pode enviar um shell script através do manipulador de importação de diagnóstico do Netlink HG323RW e fazer com que o processo BOA com UID 0 o execute. Autenticação e valores válidos de verificação/CSRF são necessários; este repositório não alega execução de código pré-autenticação.
| Campo | Valor |
|---|---|
| CVE | CVE-2026-96515 |
| Produto | Roteador Netlink ICT HG323RW |
| Hardware afetado | V3.7 |
| Firmware afetado | 3.1.02-260228 (Netlinkver) |
| Componente | bin/boa |
| Endpoint | /boaform/formImportOMCIShell |
| Acesso necessário | Conta web limitada autenticada na rede adjacente/privada |
| Impacto demonstrado | O conteúdo de shell enviado é executado como UID 0 |
| CWE | CWE-862 (Autorização Ausente), CWE-434 (Upload Irrestrito de Arquivo com Tipo Perigoso) |
| CVSS | 8.6 Alto — CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| Firmware corrigido | 3.1.02-260904 (reportado pela CERT-In e inspecionado de forma independente; a verificação em tempo de execução confirmou que /boaform/formImportOMCIShell e /boaform/admin/formImportOMCIShell retornam HTTP 404) |
| Relator | Muhammed Safvan |
A CERT-In publicou o registro em 24 de setembro de 2026 como o aviso CIVN-2026-0473. A Netlink lista os downloads de firmware em sua página de firmware.
A conta limitada padrão de fábrica é provisionada em /etc/config_default.xml, e o BOA cria /var/boaUser.passwd a partir dos valores MIB configurados durante a inicialização. Após autenticar-se como o usuário limitado, uma requisição pode enviar um campo multipart chamado binary para formImportOMCIShell. Evidências do bin/boa avaliado identificam o destino /tmp/omcishell e o ponto de execução /bin/sh /tmp/omcishell.
A transcrição fornecida do dispositivo autorizado registra um shell com UIDs/GIDs real, efetivo, de conjunto salvo e de sistema de arquivos com valor zero. O código-fonte C exato e o histórico de versões não estavam disponíveis, portanto as alegações sobre versões afetadas estão intencionalmente limitadas à imagem avaliada. Tanto o arquivo avaliado quanto o arquivo corrigido listado pela CNA estão preservados em firmware/; sua estrutura, versões incorporadas e somas de verificação foram verificadas, mas a regressão do exploit não foi reexecutada durante esta etapa de empacotamento.
Leia REPORT.md para a análise completa, pré-requisitos, limitações de evidência e orientações de remediação.
REPORT.md — relatório técnico autocontido.poc/ — PoC de reverse shell autenticado em LAN privada e notas de uso.analysis/ — notas de análise estática sanitizadas sobre provisionamento de conta, roteamento e comportamento de funções.binary/ — identificação restrita do BOA, strings e evidências de hash extraídas da imagem avaliada.firmware/ — arquivos completos de firmware vulnerável e corrigido do fornecedor, hashes e avisos de atualização.runtime/ — metadados de firmware sanitizados e proveniência da prova de execução fornecida.hashes/ — resumos dos artefatos de origem e resultados de verificação.MANIFEST-SHA256.txt — resumo de todos os outros arquivos rastreados do repositório.Os dois arquivos completos de firmware são distribuídos sem árvores de trabalho extraídas. Nenhuma sessão ativa, token CSRF, identificador de dispositivo, dado de cliente, senha codificada exportada separadamente ou credencial não pública está incluída. O par de credenciais padrão de fábrica é discutido porque é relevante para a configuração afetada. A redistribuição e o uso do firmware permanecem sujeitos aos termos do fornecedor.
O PoC público envia um payload fixo de reverse shell baseado em FIFO e fornece um listener interativo, de modo que os comandos inseridos após a conexão são executados no roteador. Ele recusa endereços de destino e de callback públicos, solicita a senha por padrão e exige uma confirmação explícita EXECUTE, a menos que o operador forneça a substituição de automação documentada. Ele teve a sintaxe verificada, mas não foi executado durante esta atualização do repositório. Use-o apenas em um dispositivo que você possui ou está explicitamente autorizado a testar.
Um vídeo de demonstração fornecido pelo proprietário foi mantido fora deste repositório público porque exibe um caminho local e um contexto de desktop específicos da máquina do autor. O repositório agora inclui o código-fonte correspondente do PoC de reverse shell; o hash da gravação e um resumo conservador das observações estão preservados em runtime/video-observation.txt.