A OpenWrt lançou a versão 24.10.8 para corrigir uma falha crítica de estouro de pilha no DHCPv6 e um conjunto mais amplo de falhas que podem ser acionadas remotamente em serviços de rede ativados por padrão.
O problema crítico, identificado como CVE-2026-53921 e classificado com 9,8 no CVSS 3.1 no aviso publicado pela OpenWrt no GitHub, permite que um atacante sem autenticação, mas com acesso ao servidor DHCPv6, sobrescreva um buffer de pilha no odhcpd por meio de uma solicitação DHCPv6 REQUEST especialmente criada.
O odhcpd é executado como root, e o aviso observa que hardware embarcado costuma não contar com stack canaries nem com randomização do layout do espaço de endereçamento, o que torna a execução de código um resultado plausível em dispositivos comuns.
O aviso inclui código público de prova de conceito em Python para os dois caminhos de estouro documentados.
Usuários da linha 24.10 devem instalar a versão 24.10.8, enquanto usuários da linha 25.12 devem atualizar para a 25.12.5.
As imagens de firmware estão disponíveis no OpenWrt Firmware Selector.
Até 28 de julho, os materiais analisados da OpenWrt não indicavam exploração em ambiente real.
A falha também não aparecia no catálogo Known Exploited Vulnerabilities, o KEV, da CISA na versão 2026.07.27, embora a ausência no KEV não comprove que não tenha havido exploração.
O lançamento chegou junto com uma auditoria separada, com apoio de IA, conduzida pela Hacker House, que identificou falhas de injeção de comandos, traversal de caminho e cross-site scripting, ou XSS, em componentes opcionais do LuCI.
A OpenWrt também encontrou um caso separado de XSS armazenado e a ausência de proteção contra cross-site request forgery, ou CSRF, ao preparar as correções.
Essas correções separadas do LuCI não fizeram parte da OpenWrt 24.10.8 e ainda estavam em análise em 28 de julho.
## Um pacote para o servidor DHCP padrão
O aviso associado à CVE-2026-53921 documenta dois pontos independentes de estouro no caminho de processamento de solicitações DHCPv6.
Em ambos os casos, opções IA manipuladas deixam espaço insuficiente em um buffer fixo de 512 bytes na pilha antes que o código acrescente dados adicionais de resposta sem uma verificação de limite adequada.
O gatilho final é uma REQUEST DHCPv6 sem autenticação enviada para a porta UDP 547.
No primeiro caminho, a prova de conceito cria cinco vinculações IA_NA com um SOLICIT anterior.
No segundo, o disparo ocorre com uma única REQUEST criada sob medida.
O aviso lista o odhcpd no commit e432dd6 e todas as versões anteriores que contenham dhcpv6_ia_handle_IAs() e build_ia() como afetadas.
A OpenWrt aponta a 24.10.8 e a 25.12.5 como versões suportadas que já incorporam a atualização de segurança relevante do odhcpd.
O aviso associa os dois locais documentados à CVE-2026-53921, mas as notas da versão 24.10.8 tratam o estouro em RECONF_ACCEPT separadamente, como um problema de alta gravidade sem CVE.
A OpenWrt corrigiu as gravações subjacentes verificando a capacidade restante do buffer de resposta antes de anexar os dados afetados.
O aviso da OpenWrt agrupa os dois pontos de estouro sob a CVE-2026-53921, enquanto as notas de versão listam RECONF_ACCEPT separadamente, sem CVE.
O mapeamento exato ainda não está claro.
As notas de versão da OpenWrt descrevem a falha como explorável por um atacante não autenticado e próximo da rede.
Já o vetor CVSS 3.1 do aviso usa AV:N, ou Network, e não AV:A, ou Adjacent, e nenhuma das fontes explica a diferença.
Ainda assim, o atacante precisa ter acesso à rede para alcançar o serviço DHCPv6.
Uma exploração bem-sucedida pode dar ao invasor controle do roteador, e não apenas derrubar o serviço.
A versão 24.10.8 também corrige outras fraquezas antes da autenticação no odhcpd, incluindo gravação fora dos limites, use-after-free, divulgação de memória, negação de serviço, leitura além da pilha e falsificação no proxy de neighbor discovery.
Outras correções em serviços ativados por padrão cobrem três falhas de request smuggling no uhttpd e uma falha de injeção de hostname via DHCPv6, identificada como
CVE-2026-62948
, que pode gerar XSS armazenado quando um administrador abre a página de leases no LuCI.
A mesma versão inclui a
CVE-2026-62947
no cgi-io, que pode expor arquivos legíveis pelo root por meio de traversal de caminho.
Esse problema exige uma sessão autenticada com permissão de download no cgi-io e uma concessão aplicável de leitura de arquivos com caractere curinga.
Não se trata de uma falha de leitura anônima de arquivos.
A OpenWrt 24.10 está sob manutenção de segurança, com fim de vida previsto para setembro de 2026.
O projeto recomenda migrar para a linha 25.12 antes disso.
Pacotes instalados separadamente da imagem de firmware também podem exigir atualizações à parte.
## As correções ainda em análise
Matthew Hickey, também conhecido como Hacker Fantastic e CTO e cofundador da Hacker House, afirmou publicamente que as correções haviam sido lançadas para problemas de execução remota de código e traversal de caminho que ele reportou à OpenWrt.
O mantenedor da OpenWrt Hauke Mehrtens publicou em 26 de julho a pull request #8878 do LuCI, com crédito explícito a Hickey e à Hacker House.
Uma verificação em 28 de julho mostrou que a pull request ainda estava aberta e sem merge.
A Hacker House afirmou que auditou os principais ramos do LuCI e do uhttpd, usando o commit 3b4f44d8e3d9d5de35127b42dd449babe2d19fe5 do LuCI, de 27 de maio, e o commit 7b1bec45826bd78c8afc993435bdc0f1df2fe399 do uhttpd, de 13 de junho.
A empresa descreveu três achados como caminhos de comprometimento do dispositivo antes da autenticação: traversal de diretório no luci-app-bmx7, XSS armazenado no luci-app-olsr e injeção de comandos no luci-app-commands.
Os outros quatro exigiam credenciais do LuCI e podiam ser usados para executar comandos no dispositivo.
A empresa disse que cinco achados foram inicialmente tratados como caminhos de execução de comandos após autenticação, mas os testes da OpenWrt mostraram que um caso do luci-app-commands podia funcionar sem sessão quando um administrador havia configurado um comando como público e parametrizado ao mesmo tempo.
O payload do OLSR também pode ser injetado sem credenciais do LuCI, embora só seja executado quando um administrador abre a página de vizinhos.
A pull request da OpenWrt não associa um commit específico a cada uma das sete submissões da Hacker House.
Dentro da pull request #8878, seis commits correspondem ao relatório da Hacker House, dois tratam de outras fraquezas de segurança encontradas pela OpenWrt durante a preparação das correções e um corrige um problema não relacionado à segurança no nome de arquivo.
A pull request também identifica dois achados do mesmo conjunto de relatórios que já haviam sido corrigidos no master, de modo que as sete submissões não se correspondem um a um com seus nove commits.
Ainda aguarda-se a resposta da OpenWrt sobre o mapeamento de CVE, as versões afetadas e o status dos patches.
As mudanças de segurança na pull request #8878 incluem:
- luci-app-commands: um caractere pipe isolado passou pela lista de argumentos permitidos do aplicativo e permitiu executar comandos como root.
A OpenWrt constatou que o caminho também funcionava sem cookie de sessão ou token CSRF quando um administrador havia configurado um comando com public definido como 1 e param definido como 1.
- luci-app-ddns: a configuração ddns_dateformat podia injetar comandos em uma operação executada como root, enquanto service_name permitia traversal de caminho.
A OpenWrt encontrou um caso separado de XSS armazenado ao preparar as correções.
- luci-proto-openvpn: valores de configuração controlados por atacante podiam alcançar comandos de shell por meio de keytype, enquanto parâmetros de diretório de chaves expunham condições de traversal de caminho.
- luci-app-olsr: um nó malicioso de mesh podia anunciar um hostname criado para executar um script no navegador quando um administrador visualiza a página de vizinhos do OLSR.
O caminho não autenticado no luci-app-commands tem pré-condições relevantes.
O aplicativo opcional precisa estar instalado, e um administrador deve ter exposto deliberadamente um comando parametrizado como público.
Os demais caminhos de execução de comandos exigem acesso autenticado ao LuCI e as permissões de configuração relevantes.
Uma exploração bem-sucedida executa comandos como root.
Não se trata de falhas amplas de pré-autenticação que afetam todos os roteadores OpenWrt.
Uma pull request separada do ddns-scripts corrige a mesma configuração insegura ddns_dateformat fora do LuCI.
Um operador delegado de DDNS podia inserir sintaxe de shell no valor, e a execução ocorreria na próxima inicialização do atualizador, inclusive após reconfiguração ou reinicialização.
A mesma verificação feita em 28 de julho mostrou que a pull request estava aberta e sem merge.
Outros dois achados do mesmo conjunto de relatórios já haviam sido corrigidos no branch master do LuCI: um traversal de caminho para leitura de arquivos sem autenticação no luci-app-bmx7 e injeção de comandos por meio de ttyd_start no luci-app-dockerman.
A OpenWrt informou que ambos ainda exigiam backports para os branches de release.
A Hacker House disse que o traversal do BMX7 fez parte da divulgação de 8 de julho e o caracterizou como caminho de comprometimento do dispositivo antes da autenticação.
O aviso público da OpenWrt descreve o impacto de forma mais restrita, como acesso sem autenticação a arquivos legíveis pelo processo CGI, e credita nebusecurity como o responsável pelo reporte.
A Hacker House afirmou não saber se os relatos eram duplicados nem por que o crédito é diferente.
## IA na descoberta e na revisão dos patches
A Hacker House descreveu a auditoria da OpenWrt como um processo de inferência e fuzzing em quatro etapas que começa com um modelo de ameaça.
O método examina repetidamente o código para gerar um amplo conjunto de possíveis vulnerabilidades.
Como esse conjunto contém muitos falsos positivos, a etapa final usa um modelo de maior precisão para filtrar os resultados.
Depois, os pesquisadores confirmam manualmente os achados restantes no código e, quando possível, em um sistema em execução antes de reportá-los.
A Hacker House informou que usa o Qwen 3.6 35B Heretic na etapa de inferência e fuzzing focada em recall.
Para a triagem da etapa quatro em projetos de código aberto, a empresa usa um modelo de ponta, como o Claude Opus 4.6 da Anthropic.
O Qwen 3.5 115B pode ser usado quando a auditoria precisa ocorrer totalmente offline, permitindo que o código-fonte privado permaneça no ambiente do cliente.
Depois da triagem, os pesquisadores inspecionam manualmente o código e, quando viável, confirmam o problema em tempo de execução usando testes dinâmicos de segurança de aplicações, ou DAST.
A Hacker House afirmou que só submete achados confirmados como vulnerabilidades, embora os payloads de exploração possam exigir ajustes durante a validação manual.
A empresa disse que concede a projetos de código aberto de sete a 10 dias úteis para reconhecer um relatório e então trabalha com os mantenedores no prazo de correção preferido.
Se não houver reconhecimento, ela pode publicar detalhes limitados para incentivar o projeto a responder ou corrigir o achado.
A OpenWrt também usou IA em partes do processo de correção.
Vários commits propostos trazem o identificador Assisted-by: Claude:claude-opus-5, e uma revisão automatizada na pull request do LuCI informa que foi gerada com Claude Code.
Os modelos, portanto, contribuíram para a descoberta de candidatos, a triagem e a revisão dos patches, enquanto pesquisadores e mantenedores verificaram manualmente os achados e as correções.
Para aplicar as correções já lançadas, os usuários devem instalar a OpenWrt 24.10.8 ou a 25.12.5 e atualizar os pacotes instalados separadamente.
Administradores também devem revisar as permissões delegadas do LuCI, remover aplicativos opcionais que não utilizam e verificar se algum comando no luci-app-commands está configurado ao mesmo tempo como público e parametrizado.
Até 28 de julho, as duas pull requests não listavam CVEs, pontuações CVSS, faixas completas de versões afetadas nem versões corrigidas de pacotes estáveis.
Nenhuma delas relatava exploração em ambiente real.
Publicidade
Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...