Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/ikarolaborda/cve2026-42926
Herramientas DefensivasAnálisis de VulnerabilidadesAuditoría de ConfiguraciónSeguridad WebAprendizaje y EducaciónLabs y Práctica
GitHubikarolaborda/cve2026-42926

CVE2026-42926

Laboratorio controlado de inyección de tramas HTTP/2 en NGINX para validación de parches e investigación defensiva de CVE-2026-42926

Ver Repositorio
12hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-42926 NGINX Laboratorio de Inyección de Tramas HTTP/2

Un laboratorio controlado de ciberseguridad para validar y comparar el comportamiento relacionado con CVE-2026-42926, un problema de inyección de tramas HTTP/2 que afecta versiones específicas de NGINX cuando se utiliza una configuración proxy vulnerable.

Este repositorio está destinado exclusivamente a investigación defensiva, validación de parches, auditoría de configuración y reproducción controlada en laboratorio.

Clasificación: Inyección de tramas HTTP/2
Versiones afectadas: NGINX 1.29.4 a 1.30.0
Versiones corregidas: NGINX 1.30.1+ / 1.31.0+

Aviso de Seguridad

Utilice este proyecto únicamente en un entorno de laboratorio aislado que sea de su propiedad o para el cual tenga autorización explícita para realizar pruebas.

No lo ejecute contra sistemas de terceros, infraestructura pública, entornos compartidos o servicios de producción sin autorización por escrito.

Aislamiento recomendado:

  • Máquina virtual local
  • Contenedor desechable
  • Host de pruebas privado
  • Red de laboratorio no enrutable

Qué Hace Este Laboratorio

El laboratorio comprueba si un binario y configuración de NGINX objetivo cumplen las condiciones necesarias para reproducir el problema, envía una solicitud manipulada a la ubicación de prueba e inspecciona un registrador ascendente controlado para detectar evidencia de que bytes similares a tramas HTTP/2 inyectadas llegaron al lado ascendente.

El patrón de validación normal es:

  1. Ejecutar la misma configuración proxy vulnerable con una compilación vulnerable de NGINX.
  2. Ejecutar la misma configuración proxy vulnerable con una compilación parcheada de NGINX.
  3. Comparar la evidencia ascendente y los veredictos del script.

Resultado esperado:

  • Compilación vulnerable: puede observarse evidencia de inyección.
  • Compilación parcheada: no debe observarse evidencia de inyección.

Contenido del Repositorio

ArchivoDescripción
README.mdDocumentación del proyecto.
LICENSELicencia MIT.
DockerfileConstruye una imagen de laboratorio autónoma con NGINX 1.29.4, PHP CLI/cURL, Python y los scripts del proyecto.
docker-compose.ymlInicia el servicio NGINX vulnerable, el registrador de tramas ascendente y un ejecutor de validación opcional.
cve_2026_42926_lab.phpScript principal de validación del laboratorio. Verifica las condiciones previas de versión/configuración, envía la solicitud manipulada, inspecciona los registros ascendentes y devuelve un veredicto.
nginx_vulnerable.confConfiguración de NGINX de ejemplo que contiene el patrón proxy vulnerable utilizado tanto para las ejecuciones de comparación vulnerables como parcheadas.
docker/nginx_vulnerable.docker.confConfiguración de NGINX específica de Docker que utiliza el mismo patrón vulnerable y descubrimiento de servicios de Compose.
nginx_config_verify.shHelper que verifica si una configuración de NGINX objetivo contiene el patrón proxy vulnerable requerido.
upstream_frame_logger.pyRegistrador ascendente HTTP/2 sin procesar controlado utilizado para capturar e inspeccionar las tramas recibidas de NGINX.
run_lab_comparison.shOrquesta ejecuciones de comparación vulnerable vs parcheada.
.dockerignoreMantiene los registros generados y los metadatos del IDE fuera del contexto de construcción de Docker.

Requisitos

  • Entorno de shell Linux o macOS
  • bash
  • python3
  • php
  • Extensión PHP cURL
  • Binarios de prueba de NGINX para las versiones que desea comparar
  • Permiso para vincular el puerto de escucha configurado de NGINX

Para el flujo de trabajo contenerizado:

  • Docker
  • Docker Compose v2

La configuración de ejemplo escucha en el puerto 80, que comúnmente requiere privilegios de root. Para un laboratorio local sin privilegios, cambie listen 80; en nginx_vulnerable.conf a un puerto alto disponible como 8080, luego use la URL objetivo correspondiente en el comando PHP.

Configuración

Haga ejecutables los scripts de shell:

chmod +x nginx_config_verify.sh run_lab_comparison.sh

Confirme que PHP tiene soporte para cURL:

php -m | grep -i curl

Confirme que cada binario de NGINX puede imprimir su versión:

/path/to/nginx -V

Configuración del Laboratorio

El archivo nginx_vulnerable.conf proporcionado contiene el patrón de prueba requerido:

location /exploit {
    proxy_pass http://127.0.0.1:8081;
    proxy_http_version 2;
    proxy_set_body $request_body;
    proxy_set_header Host $host;
    proxy_set_header Content-Length $content_length;
}

Detalles importantes:

  • proxy_http_version 2 habilita el proxy HTTP/2 hacia el registrador ascendente.
  • proxy_set_body $request_body utiliza un cuerpo de solicitud controlado por el cliente.
  • client_max_body_size 20m permite el cuerpo de solicitud manipulado de 16 MiB utilizado por el script de validación.
  • El registrador ascendente escucha en 127.0.0.1:8081 de forma predeterminada.

La configuración específica de Docker en docker/nginx_vulnerable.docker.conf mantiene el mismo patrón proxy vulnerable pero escucha en el puerto del contenedor 8080 y hace proxy al nombre de servicio de Compose upstream:8081.

Inicio Rápido con Docker: Laboratorio NGINX 1.29.4

El Dockerfile compila NGINX 1.29.4 desde el código fuente e instala las herramientas PHP/Python necesarias para el laboratorio. Compose ejecuta tres servicios desde la misma imagen:

  • upstream: registrador de tramas HTTP/2 sin procesar
  • nginx: NGINX 1.29.4 vulnerable usando docker/nginx_vulnerable.docker.conf
  • runner: comando de validación PHP de una sola ejecución

Construir la imagen de laboratorio:

docker compose build

Iniciar el registrador ascendente y NGINX vulnerable:

docker compose up -d upstream nginx

Confirmar la versión de NGINX incluida:

docker compose exec nginx nginx -V

Ejecutar el script de validación dentro de la red de Compose:

docker compose --profile run run --rm runner

El ejecutor utiliza estos argumentos dentro del contenedor:

php /lab/cve_2026_42926_lab.php \
  http://nginx:8080/exploit \
  /lab/upstream_logs \
  /lab/nginx_config_verify.sh \
  /usr/local/nginx/sbin/nginx \
  /lab/docker/nginx_vulnerable.docker.conf \
  /exploit

Los registros ascendentes generados se escriben en el directorio del host:

./upstream_logs/

El servicio NGINX también está expuesto al host en:

http://localhost:8080/version

Detener y eliminar los contenedores del laboratorio:

docker compose down

Inicio Rápido: Ejecución Única de Validación

Iniciar el registrador ascendente controlado:

python3 upstream_frame_logger.py 8081 ./upstream_logs

En otra terminal, iniciar NGINX con la configuración de ejemplo:

/path/to/nginx -c "$PWD/nginx_vulnerable.conf"

Ejecutar el script de validación:

php cve_2026_42926_lab.php \
  http://localhost/exploit \
  ./upstream_logs \
  ./nginx_config_verify.sh \
  /path/to/nginx \
  "$PWD/nginx_vulnerable.conf" \
  /exploit

Detener NGINX después de la ejecución:

/path/to/nginx -s stop

Si cambió NGINX para que escuche en otro puerto, actualice el primer argumento. Por ejemplo:

php cve_2026_42926_lab.php http://localhost:8080/exploit ./upstream_logs ./nginx_config_verify.sh /path/to/nginx "$PWD/nginx_vulnerable.conf" /exploit

Inicio Rápido: Comparación Vulnerable vs Parcheado

Establezca las rutas a los dos binarios de NGINX y ejecute el harness de comparación:

VULNERABLE_NGINX=/usr/local/nginx_1.29.4/sbin/nginx \
PATCHED_NGINX=/usr/local/nginx_1.30.1/sbin/nginx \
bash run_lab_comparison.sh

Anulaciones de configuración opcionales:

Descargar herramienta