
Este repositório contém uma Prova de Conceito (PoC) que demonstra a vulnerabilidade de Double Free (CVE-2026-23918) no `mod_http2` do Apache HTTP Server 2.4.66.
Este repositório contém uma Prova de Conceito (PoC) que demonstra a vulnerabilidade de Double Free (CVE-2026-23918) no Apache HTTP Server 2.4.66 mod_http2.
A vulnerabilidade decorre de uma condição de corrida durante o processamento precoce de quadros RST_STREAM. Concentrei-me na janela de tempo em que o manipulador de sessão e o worker de backend tentam ambos limpar o pool de memória do stream, levando a um double free no alocador APR.
Progresso Atual Crash Acionado: A condição de corrida foi atingida com sucesso localmente. O processo filho do Apache termina com uma falha de segmentação (11).
Status de DoS: Nesta fase, a PoC alcança uma Negação de Serviço confiável ao corromper a lista livre do alocador.
Caminho de Pesquisa para RCE Para evoluir de um crash para execução, as seguintes áreas exigem trabalho adicional:
Heap Grooming: Estabilizar o heap para garantir que o bloco corrompido se sobreponha a uma estrutura previsível.
Controle de Fluxo: Sobrescrever apr_pool_cleanup_register ou ponteiros de função semelhantes para redirecionar a execução.
Cadeia ROP: Construir uma cadeia para contornar NX/ASLR uma vez que o ponteiro de instrução esteja sob controle.
Arquivos Dockerfile: Configura uma instância vulnerável 2.4.66 com HTTP/2 habilitado.
poc.py: Script projetado para acionar a condição de corrida por meio de sequenciamento rápido de quadros.