O servidor web embarcado GoAhead carregava uma lista de certificados revogados no backend TLS (Segurança da Camada de Transporte, protocolo que protege conexões na internet) padrão, mas nunca ativava a verificação de revogação. Assim, um certificado de cliente revogado ainda podia passar pelo login em configurações afetadas.
A falha está em builds que usam o backend OpenSSL com TLS mútuo, em que o servidor verifica o certificado do cliente e o cliente verifica o do servidor, e uma lista de revogação está configurada para bloquear certificados revogados.
Trata-se de uma configuração que o operador ativa de forma deliberada; um build padrão não é afetado. A versão GoAhead 6.1.1, liberada para fabricantes de dispositivos em 2 de agosto de 2026 e publicada ao público em 12 de outubro, corrige o problema.
O GoAhead é um servidor web pequeno que fabricantes incorporam aos firmwares para executar páginas de gerenciamento em roteadores, impressoras, gateways e controladores industriais. Segundo a EmbedThis, sua desenvolvedora, ele roda em centenas de milhões de dispositivos.
A falha foi encontrada por Sébastien Féry, da FoxIO, que a descreveu, junto com outros dois problemas de TLS, em um texto técnico publicado em 26 de outubro.
Como a falha funciona
Em um build afetado, o servidor carrega o arquivo da lista de revogação na inicialização e não informa erro, de modo que um operador que a configurou tem todos os motivos para acreditar que a revogação está funcionando. Não está. Um cliente cujo certificado foi revogado, por exemplo um dispositivo roubado ou desativado, completa o handshake como se o certificado ainda fosse válido e obtém o acesso que aquela identidade permite.
No teste da FoxIO contra o GoAhead 6.1.0 com OpenSSL 3.6.2, um certificado revogado foi aceito com a verificação do emissor ativada.
O aviso da OpenSSL descreve certificados de cliente revogados como aceitos silenciosamente. Para explorar a falha, o build precisa usar o backend OpenSSL com certificados de cliente obrigatórios, um pacote de autoridades certificadoras confiáveis, verificação do emissor habilitada e uma lista de revogação configurada. O atacante precisa possuir um certificado assinado por uma autoridade confiável e listado como revogado. Builds que usam o backend Mbed TLS não são afetados, pois esse backend verifica a revogação por um caminho de código separado.
Identificadores e status
O identificador do alerta é CVE-2026-115881 (sigla de Common Vulnerabilities and Exposures, sistema global de identificação de vulnerabilidades conhecidas), com nota 9,1 atribuída pela EmbedThis. Em 27 de outubro, esse identificador e os demais citados nesta notícia ainda não constavam nas bases públicas da CVE e do NVD (National Vulnerability Database, banco de dados de vulnerabilidades mantido pelo governo dos EUA). Segundo a EmbedThis, a empresa já solicitou os identificadores. As notas de gravidade são da própria fornecedora.
Os outros dois problemas
Pesquisadores identificaram mais dois problemas, cada um ligado a um build TLS específico. As versões afetadas e as correções variam conforme o backend.
O problema no Mbed TLS só atinge uma sessão se o cliente aceitar a configuração defeituosa. OpenSSL, as versões atuais do Go e do Java e os navegadores mais usados recusam um valor tão pequeno e recorrem a uma troca de chaves mais forte, de modo que a sessão nunca é concluída.
Clientes sem verificação de tamanho mínimo, como alguns sistemas embarcados ou personalizados, aceitam o valor. Nesse caso, quem gravou o tráfego pode deduzir a chave e ler a sessão. Sessões TLS 1.3 e ECDHE (sigla de Elliptic Curve Diffie-Hellman Ephemeral, troca de chaves efêmera baseada em curvas elípticas) não são afetadas, e o Mbed TLS 4.x removeu a troca de chaves da qual elas dependem.
O problema no LibreSSL permite que um atacante apresente uma cadeia de certificados maior que o limite de 10 certificados do GoAhead e, mesmo assim, complete o handshake como cliente autenticado, sem possuir nenhuma chave confiável.
Ele aparece apenas em builds vinculados às versões mais antigas do LibreSSL e somente quando certificados de cliente são exigidos com a verificação do emissor desativada. OpenSSL, BoringSSL, AWS-LC e LibreSSL 4.x rejeitam a cadeia excessivamente longa.
Por que a correção demora
O backend e as configurações de um build são escolhidos na compilação do firmware, de modo que o dono do dispositivo não consegue saber, de fora, quais deles se aplicam. Por isso a correção chega devagar: o GoAhead 6.1.1 é um substituto direto que os fabricantes precisam recompilar e distribuir como atualização de firmware, e o usuário só a recebe quando o fabricante faz isso. Não se sabe se algum fabricante já a distribuiu.
Até 27 de outubro, nenhuma fonte relatou o uso de qualquer desses problemas em ataques. A política da EmbedThis é encerrar o embargo de divulgação e publicar antes do previsto se uma falha estiver sendo explorada ou divulgada por terceiros. Por isso, a publicação coordenada de 12 de outubro é compatível com a inexistência de ataques conhecidos.
Isso, porém, não prova que eles não existam. A EmbedThis notifica os clientes sobre atualizações de segurança pelo portal Builder. A FoxIO publicou código de prova de conceito e oferece impressões digitais, por meio da ferramenta JA4Scan, para localizar servidores GoAhead por backend. A ferramenta é gratuita, mas seu código-fonte está disponível apenas sob solicitação, e uma impressão digital identifica um build, não um servidor confirmadamente vulnerável.
Nenhum dos fabricantes que a EmbedThis lista como usuários do GoAhead, entre eles HP, Oracle, Siemens, Canon, Rockwell, D-Link e Comcast, foi comprovado como executor de um backend e de uma configuração afetados. A população afetada ainda não foi estabelecida.
A mesma versão 6.1.1 corrige 11 alertas no total, três deles com gravidade crítica. Um deles é um contorno de autenticação: em um build que usa HTTP (sigla de Protocolo de Transferência de Hipertexto) Basic ou login por formulário, um atacante que conheça um nome de usuário válido pode entrar com qualquer senha se a senha armazenada desse usuário estiver no formato Blowfish (algoritmo de criptografia), adicionado pelo GoAhead na versão 6.1.0. Segundo a EmbedThis, o login por formulário é o padrão de suas páginas de administração integradas.
Após a atualização, a EmbedThis recomenda encerrar as sessões ativas, reiniciar o servidor e trocar as senhas armazenadas no formato Blowfish.