Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
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
CVE-2019-9511_Priority-Churn-Data-Dribble — Sondas ligeras HTTP/2 para validación controlada de vectores DoS CVE-2019-9511 (Data Dribble) y CVE-2019-9513 (Priority Churn) en entornos autorizados. | Kitploit
Herramientas/GitHubGitHub/harley-ghostie/cve-2019-9511_priority-churn-data-dribble
Análisis de VulnerabilidadesExplotaciónSeguridad WebSeguridad de RedesPruebas de Penetración
GitHubharley-ghostie/cve-2019-9511_priority-churn-data-dribble

CVE-2019-9511_Priority-Churn-Data-Dribble

Sondas ligeras HTTP/2 para validación controlada de vectores DoS CVE-2019-9511 (Data Dribble) y CVE-2019-9513 (Priority Churn) en entornos autorizados.

Ver Repositorio
5hace 5 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

HTTP/2 CVE-2019-9511 & CVE-2019-9513 Lightweight Probes

Repositorio con scripts de validación controlada para comportamientos asociados a las CVEs CVE-2019-9511 y CVE-2019-9513, ambas relacionadas con vectores de denegación de servicio en implementaciones HTTP/2.

Los scripts fueron creados para apoyar validaciones técnicas en entornos autorizados, permitiendo observar si el servidor negocia HTTP/2 y responde a patrones específicos relacionados con Data Dribble y Priority Churn, sin ejecutar un ataque de denegación de servicio.

La propuesta es comprobar el vector de forma ligera y segura, con bajo volumen de peticiones y sin objetivo de indisponibilizar el entorno.


CVEs contempladas

CVENombreScriptDescripción
CVE-2019-9511HTTP/2 Data Dribbledata_dribble_probe.pyValida comportamiento de control de flujo HTTP/2 liberando pequeños volúmenes de datos de forma controlada.
CVE-2019-9513HTTP/2 Priority Churn / Resource Looppriority_churn_probe.pyValida comportamiento de procesamiento de frames PRIORITY en baja intensidad.

Resumen de las vulnerabilidades

CVE-2019-9511 — HTTP/2 Data Dribble

La CVE-2019-9511, conocida como HTTP/2 Data Dribble, afecta a algunas implementaciones de HTTP/2 que no tratan de forma eficiente la manipulación de la ventana de flujo y la entrega gradual de datos.

En este escenario, un atacante puede solicitar datos al servidor y manipular el control de flujo para hacer que la respuesta se mantenga abierta y se entregue en pequeños bloques, como paquetes de 1 byte. Dependiendo de la implementación, este comportamiento puede generar consumo excesivo de CPU, memoria o recursos de conexión, resultando en riesgo de denegación de servicio.

En este repositorio, el script relacionado es:

data_dribble_probe.py

El objetivo del script es validar el comportamiento de forma ligera, sin generar carga agresiva y sin intentar causar indisponibilidad.

Referencias:

  • https://nvd.nist.gov/vuln/detail/CVE-2019-9511
  • https://www.cve.org/CVERecord?id=CVE-2019-9511
  • https://ubuntu.com/security/CVE-2019-9511

CVE-2019-9513 — HTTP/2 Priority Churn / Resource Loop

La CVE-2019-9513, conocida como HTTP/2 Priority Churn o Resource Loop, afecta a algunas implementaciones de HTTP/2 que procesan cambios continuos en el árbol de prioridad de los streams de forma costosa.

En este escenario, un atacante puede crear múltiples streams y cambiar repetidamente la prioridad entre ellos, causando churn en el árbol de prioridades. Dependiendo de la implementación, este comportamiento puede generar consumo excesivo de CPU y llevar a la denegación de servicio.

En este repositorio, el script relacionado es:

priority_churn_probe.py

El objetivo del script es validar si el servidor acepta y procesa frames PRIORITY, usando baja intensidad y sin ejecutar un ataque de DoS.

Referencias:

  • https://nvd.nist.gov/vuln/detail/CVE-2019-9513
  • https://www.cve.org/CVERecord?id=CVE-2019-9513
  • https://ubuntu.com/security/CVE-2019-9513

Observación sobre versiones afectadas

Las CVEs CVE-2019-9511 y CVE-2019-9513 no están asociadas a una única versión específica de servidor web, como solo nginx, Apache o Tomcat.

Afectan a determinadas implementaciones HTTP/2 en diferentes productos, bibliotecas, proxies, balanceadores y servidores. Por eso, la validación debe considerar qué componente está negociando y procesando HTTP/2 en el entorno analizado.

Ejemplos de componentes que pueden estar involucrados:

nginx
Apache HTTP Server
Envoy
HAProxy
Tomcat
Jetty
Node.js
Go net/http2
nghttp2
CDN
WAF
Load Balancer
Ingress Controller Kubernetes

El primer criterio técnico es confirmar si el servicio negocia HTTP/2 via ALPN. Si el servicio no negocia h2, estos scripts no son aplicables.

La confirmación de vulnerabilidad por versión debe hacerse con base en el advisory oficial del fabricante del componente identificado.


Pre-validación: verificar soporte a HTTP/2

Antes de ejecutar los scripts, valide si el objetivo negocia HTTP/2 via ALPN.

Use solo el dominio en el comando, sin https://.

openssl s_client -alpn h2 -connect ejemplo.com.br:443 </dev/null 2>/dev/null | grep -i "ALPN"

También es posible usar con placeholder:

openssl s_client -alpn h2 -connect <HOST>:443 </dev/null 2>/dev/null | grep -i "ALPN"

Salida esperada:

ALPN protocol: h2

Si la salida indica h2, el servicio negocia HTTP/2 y los scripts pueden ser aplicables.

Si no hay retorno o el protocolo negociado es otro, como http/1.1, los scripts no son aplicables para ese endpoint.

Visión general de los scripts

ScriptCVE relacionadaObjetivoCuándo usar
data_dribble_probe.pyCVE-2019-9511Validar comportamiento asociado a Data Dribble usando control de ventana para liberar pequeños bloques de datosUsar cuando el servidor soporta HTTP/2 y hay necesidad de verificar comportamiento de entrega de DATA frames con ventana reducida.
priority_churn_probe.pyCVE-2019-9513Validar comportamiento asociado a Priority Churn usando frames PRIORITY en baja intensidadUsar cuando el servidor soporta HTTP/2 y hay necesidad de verificar si procesa cambios de prioridad de streams.

Flujo recomendado de uso

El orden más lógico para la utilización de los scripts es:

1. Pre-validación HTTP/2 con openssl
   ↓
2. priority_churn_probe.py
   ↓
3. data_dribble_probe.py

Explicación rápida del flujo

Primero, use el comando con openssl para confirmar si el objetivo negocia HTTP/2. Luego, use priority_churn_probe.py para validar si el servidor acepta y procesa frames de prioridad. A continuación, use data_dribble_probe.py para observar el comportamiento del servidor ante una ventana de flujo reducida, liberando pequeños volúmenes de datos de forma controlada.

Ambos scripts son probes ligeros. No tienen como objetivo causar indisponibilidad, sino generar una evidencia técnica del comportamiento observado.


Scripts

priority_churn_probe.py

Descripción

El priority_churn_probe.py es una PoC ligera para validación de comportamiento relacionado a la CVE-2019-9513, conocida como HTTP/2 Priority Churn.

El script establece una conexión HTTP/2 via TLS, abre pequeños streams HTTP y envía cambios de prioridad mediante frames PRIORITY. Luego, mide la latencia antes y después del envío de esos frames para observar si hay variación en el procesamiento.

Lo que hace el script

  • Negocia HTTP/2 via ALPN;
  • Abre conexión TLS con el host informado;
  • Envía peticiones GET simples hasta tres paths;
  • Mide latencia inicial usando PING;
  • Usa fallback con GET si el PING no es suficiente;
  • Envía frames PRIORITY en baja intensidad;
  • Mide la latencia después del churn de prioridad;
  • Muestra una comparación entre el tiempo antes y después de la prueba.

Escenario de uso

Use este script cuando sea necesario validar si un servidor HTTP/2 acepta y procesa frames de prioridad relacionados con el vector Priority Churn, sin ejecutar una prueba agresiva de DoS.

Está indicado para validación controlada en pentests, análisis de exposición HTTP/2 y comprobación técnica de comportamiento vulnerable o potencialmente sensible.

Campos/parámetros que deben ser modificados

El script recibe los valores por argumento de línea de comandos:

--host
--port
--paths
--shuffles

Explicación de los parámetros

ParámetroDescripción
--hostFQDN del objetivo autorizado. No incluir https://.
--portPuerto TLS donde el servicio HTTP/2 está disponible. Por defecto: 443.
--pathsLista de paths simples para abrir streams HTTP/2.
--shufflesCantidad de ciclos de cambio de prioridad. Mantener bajo para prueba segura.

Path ideal para prueba

Descargar herramienta