A Apache Software Foundation (ASF) divulgou atualizações de segurança para corrigir várias falhas no HTTP Server, incluindo uma vulnerabilidade grave que pode levar à execução remota de código (RCE).
A falha, identificada como
CVE-2026-23918
e com pontuação CVSS de 8,8, foi descrita como um caso de “double free” com possível RCE no tratamento do protocolo HTTP/2.
O problema afeta o Apache HTTP Server 2.4.66 e foi corrigido na versão 2.4.67.
Bartlomiej Dmitruk, cofundador da Striga.ai, e o pesquisador Stanislaw Strzalkowski, da ISEC.pl, foram creditados pela descoberta e pelo relato da vulnerabilidade.
Dmitruk disse que a gravidade da
CVE-2026-23918
é crítica, já que ela pode ser explorada para causar negação de serviço (DoS) e RCE.
Abaixo estão mais detalhes da falha.
A
CVE-2026-23918
é um double-free no mod_http2 do Apache httpd 2.4.66, especificamente no caminho de limpeza de fluxo em h2_mplx.c.
O bug é acionado quando um cliente envia um frame HEADERS do HTTP/2 imediatamente seguido de RST_STREAM com um código de erro diferente de zero no mesmo fluxo, antes que o multiplexador tenha registrado o stream.
Em seguida, dois callbacks do nghttp2 são disparados em sequência, on_frame_recv_cb para o RST e on_stream_close_cb para o fechamento, e ambos acabam chamando h2_mplx_c1_client_rst -> m_stream_cleanup.
Isso faz com que o mesmo ponteiro de h2_stream seja inserido duas vezes no array de limpeza spurge.
Quando c1_purge_streams percorre esse array e chama h2_stream_destroy -> apr_pool_destroy para cada entrada, a segunda chamada atinge memória que já havia sido liberada.
Dmitruk acrescentou que o DoS é trivial e funciona em qualquer implantação padrão com mod_http2 e MPM multithread, enquanto o caminho para RCE exige um Apache Portable Runtime (APR) com o alocador mmap, que é o padrão em sistemas derivados do Debian e na imagem oficial do httpd no Docker.
Ele explicou ainda que o primeiro cenário é uma negação de serviço simples: uma conexão TCP, dois frames, sem autenticação, sem cabeçalhos especiais e sem URL específica, e o worker trava.
O Apache o reinicia, mas cada requisição direcionada ao worker que caiu é descartada, e o ataque pode ser mantido enquanto o invasor continuar enviando os frames.
O segundo cenário é a execução remota de código, e os pesquisadores construíram uma prova de conceito funcional em x86_64.
A técnica posiciona uma estrutura falsa h2_stream no endereço virtual liberado por meio da reutilização do mmap, aponta sua função de limpeza de pool para system() e usa a memória do scoreboard do Apache como um contêiner estável para as estruturas falsas e para a string de comando.
O scoreboard fica em um endereço fixo durante toda a vida do servidor, mesmo com ASLR, o que torna o caminho para RCE viável.
As ressalvas habituais ainda se aplicam: a exploração prática exige uma informação vazada para descobrir system() e os offsets do scoreboard, e o heap spray é probabilístico, mas em ambiente de laboratório a execução pode ser obtida em minutos.
Dmitruk também observou que o MPM prefork não é afetado pela falha.
Ainda assim, o pesquisador alertou que a superfície de ataque é ampla, já que o mod_http2 vem em compilações padrão e o HTTP/2 é amplamente habilitado em ambientes de produção.
Diante da gravidade do problema, os usuários são orientados a aplicar as correções mais recentes para obter a melhor proteção.
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...