Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2019-9511_Priority-Churn-Data-Dribble — Sondas HTTP/2 leves para validação controlada dos vetores DoS CVE-2019-9511 (Data Dribble) e CVE-2019-9513 (Priority Churn) em ambientes autorizados. | Kitploit
Ferramentas/GitHubGitHub/harley-ghostie/cve-2019-9511_priority-churn-data-dribble
Análise de VulnerabilidadesExploraçãoSegurança WebSegurança de RedeTestes de Penetração
GitHubharley-ghostie/cve-2019-9511_priority-churn-data-dribble

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

Sondas HTTP/2 leves para validação controlada dos vetores DoS CVE-2019-9511 (Data Dribble) e CVE-2019-9513 (Priority Churn) em ambientes autorizados.

Ver Repositório
14há 6 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

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

Repositório com scripts de validação controlada para comportamentos associados às CVEs CVE-2019-9511 e CVE-2019-9513, ambas relacionadas a vetores de negação de serviço em implementações HTTP/2.

Os scripts foram criados para apoiar validações técnicas em ambientes autorizados, permitindo observar se o servidor negocia HTTP/2 e responde a padrões específicos relacionados a Data Dribble e Priority Churn, sem executar ataque de negação de serviço.

A proposta é comprovar o vetor de forma leve e segura, com baixo volume de requisições e sem objetivo de indisponibilizar o ambiente.


CVEs contempladas

CVENomeScriptDescrição
CVE-2019-9511HTTP/2 Data Dribbledata_dribble_probe.pyValida comportamento de controle de fluxo HTTP/2 liberando pequenos volumes de dados de forma controlada.
CVE-2019-9513HTTP/2 Priority Churn / Resource Looppriority_churn_probe.pyValida comportamento de processamento de frames PRIORITY em baixa intensidade.

Resumo das vulnerabilidades

CVE-2019-9511 — HTTP/2 Data Dribble

A CVE-2019-9511, conhecida como HTTP/2 Data Dribble, afeta algumas implementações de HTTP/2 que não tratam de forma eficiente a manipulação da janela de fluxo e da entrega gradual de dados.

Nesse cenário, um atacante pode solicitar dados ao servidor e manipular o controle de fluxo para fazer com que a resposta seja mantida aberta e entregue em pequenos blocos, como pacotes de 1 byte. Dependendo da implementação, esse comportamento pode gerar consumo excessivo de CPU, memória ou recursos de conexão, resultando em risco de negação de serviço.

Neste repositório, o script relacionado é:

data_dribble_probe.py

O objetivo do script é validar o comportamento de forma leve, sem gerar carga agressiva e sem tentar causar indisponibilidade.

Referências:

  • 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 — Rotatividade de Prioridade HTTP/2 / Loop de Recursos

A CVE-2019-9513, conhecida como HTTP/2 Priority Churn ou Resource Loop, afeta algumas implementações de HTTP/2 que processam alterações contínuas na árvore de prioridade dos streams de forma custosa.

Nesse cenário, um atacante pode criar múltiplos streams e alterar repetidamente a prioridade entre eles, causando churn na árvore de prioridades. Dependendo da implementação, esse comportamento pode gerar consumo excessivo de CPU e levar à negação de serviço.

Neste repositório, o script relacionado é:

priority_churn_probe.py

O objetivo do script é validar se o servidor aceita e processa frames PRIORITY, usando baixa intensidade e sem executar um ataque de DoS.

Referências:

  • 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

Observação sobre versões afetadas

As CVEs CVE-2019-9511 e CVE-2019-9513 não estão associadas a uma única versão específica de servidor web, como apenas nginx, Apache ou Tomcat.

Elas afetam determinadas implementações HTTP/2 em diferentes produtos, bibliotecas, proxies, balanceadores e servidores. Por isso, a validação deve considerar qual componente está negociando e processando HTTP/2 no ambiente analisado.

Exemplos de componentes que podem estar envolvidos:

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

O primeiro critério técnico é confirmar se o serviço negocia HTTP/2 via ALPN. Caso o serviço não negocie h2, estes scripts não são aplicáveis.

A confirmação de vulnerabilidade por versão deve ser feita com base no advisory oficial do fabricante do componente identificado.


Pré-validação: verificar suporte a HTTP/2

Antes de executar os scripts, valide se o alvo negocia HTTP/2 via ALPN.

Use somente o domínio no comando, sem https://.

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

Também é possível usar com placeholder:

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

Saída esperada:

ALPN protocol: h2

Se a saída indicar h2, o serviço negocia HTTP/2 e os scripts podem ser aplicáveis.

Se não houver retorno ou o protocolo negociado for outro, como http/1.1, os scripts não são aplicáveis para aquele endpoint.

Visão geral dos scripts

ScriptCVE relacionadaObjetivoQuando usar
data_dribble_probe.pyCVE-2019-9511Validar comportamento associado ao Data Dribble usando controle de janela para liberar pequenos blocos de dadosUsar quando o servidor suporta HTTP/2 e há necessidade de verificar comportamento de entrega de DATA frames com janela reduzida.
priority_churn_probe.pyCVE-2019-9513Validar comportamento associado ao Priority Churn usando frames PRIORITY em baixa intensidadeUsar quando o servidor suporta HTTP/2 e há necessidade de verificar se ele processa alterações de prioridade de streams.

Fluxo recomendado de uso

A ordem mais lógica para utilização dos scripts é:

1. Pré-validação HTTP/2 com openssl
   ↓
2. priority_churn_probe.py
   ↓
3. data_dribble_probe.py

Explicação rápida do fluxo

Primeiro, use o comando com openssl para confirmar se o alvo negocia HTTP/2. Depois, use o priority_churn_probe.py para validar se o servidor aceita e processa frames de prioridade. Em seguida, use o data_dribble_probe.py para observar o comportamento do servidor diante de uma janela de fluxo reduzida, liberando pequenos volumes de dados de forma controlada.

Ambos os scripts são probes leves. Eles não têm como objetivo causar indisponibilidade, mas sim gerar uma evidência técnica do comportamento observado.


Scripts

priority_churn_probe.py

Descrição

O priority_churn_probe.py é uma PoC leve para validação de comportamento relacionado à CVE-2019-9513, conhecida como HTTP/2 Priority Churn.

O script estabelece uma conexão HTTP/2 via TLS, abre pequenos streams HTTP e envia alterações de prioridade por meio de frames PRIORITY. Em seguida, mede a latência antes e depois do envio desses frames para observar se há variação no processamento.

O que o script faz

  • Negocia HTTP/2 via ALPN;
  • Abre conexão TLS com o host informado;
  • Envia requisições GET simples para até três paths;
  • Mede latência inicial usando PING;
  • Usa fallback com GET caso o PING não seja suficiente;
  • Envia frames PRIORITY em baixa intensidade;
  • Mede a latência após o churn de prioridade;
  • Exibe uma comparação entre o tempo antes e depois do teste.

Cenário de uso

Use este script quando for necessário validar se um servidor HTTP/2 aceita e processa frames de prioridade relacionados ao vetor Priority Churn, sem executar um teste agressivo de DoS.

Ele é indicado para validação controlada em pentests, análise de exposição HTTP/2 e comprovação técnica de comportamento vulnerável ou potencialmente sensível.

Campos/parâmetros que devem ser alterados

O script recebe os valores por argumento de linha de comando:

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

Explicação dos parâmetros

ParâmetroDescrição
--hostFQDN do alvo autorizado. Não incluir https://.
--portPorta TLS onde o serviço HTTP/2 está disponível. Padrão: 443.
--pathsLista de paths simples para abrir streams HTTP/2.
--shufflesQuantidade de ciclos de alteração de prioridade. Manter baixo para teste seguro.

Path ideal para teste

Use paths leves, públicos e de baixo impacto, como:

/
/robots.txt
/favicon.ico
/health
/login
Baixar ferramenta