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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cve-replay — Regressão offline independente do CVE-2026-44431 em versões fixadas do urllib3, com atribuição ao relator original. | Kitploit
Ferramentas/GitHubGitHub/ssh-pur66/cve-replay
Ferramentas DefensivasAnálise EstáticaAnálise de VulnerabilidadesSegurança WebPapers e PesquisaAprendizado e EducaçãoLabs e Prática
GitHubssh-pur66/cve-replay

cve-replay

Regressão offline independente do CVE-2026-44431 em versões fixadas do urllib3, com atribuição ao relator original.

Ver Repositório
3há 3 diasAinda 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 →
Site
Compartilhar

CVE Replay: a fronteira do cabeçalho de redirecionamento

CVE-2026-44431 · urllib3 2.6.3 → 2.7.0 · reproduzido em 27 de setembro de 2026

Uma requisição carrega três cabeçalhos sensíveis para uma origem. Um redirecionamento altera o destino. A próxima requisição ainda os carrega?

Esta regressão independente executa a implementação real de redirecionamento de duas versões exatas do urllib3. A versão 2.6.3 retém todos os três cabeçalhos através da API de baixo nível afetada. A versão 2.7.0 os remove. Um cabeçalho benigno sobrevive, e requisições comuns continuam funcionando.

Resultado medido

Fixtureurllib3 2.6.3urllib3 2.7.0
Redirecionamento cross-origin de baixo nível3 cabeçalhos sensíveis retidos0 retidos
Mesmo caso com nomes em minúsculas3 retidos0 retidos
Controle da API de alto nível0 retidos0 retidos
Resposta 200 direta3 retidos conforme esperado3 retidos conforme esperado
Redirecionamento explicitamente desabilitadoUma chamada; 302 retornadoUma chamada; 302 retornado
Conjunto de remoção personalizado adiciona marcador benignoTodos os 4 cabeçalhos retidosTodos os 4 removidos

12/12 expectativas de cenário atendidas. Cada cenário também verifica o status da resposta, a contagem de chamadas de transporte, o conjunto inicial de cabeçalhos, o resultado do cabeçalho benigno e que os cabeçalhos do chamador não foram mutados. O resultado vulnerável é um resultado de linha de base esperado, não uma verificação de segurança aprovada.

Resultados legíveis por máquina incluem os argumentos capturados, hashes exatos dos wheels, tempo de execução, hashes do código-fonte dos testes, atribuição e horário de reprodução.

O problema publicado

O aviso upstream, publicado em 7 de maio de 2026, identifica um problema de exposição de informações no caminho de redirecionamento de baixo nível com proxy do urllib3. Ele lista as versões >=1.23, <2.7.0 como afetadas. Chamar ProxyManager.connection_from_url(...).urlopen(..., assert_same_host=False) poderia carregar cabeçalhos sensíveis configurados em uma requisição redirecionada para outra origem. A API de alto nível do gerenciador já os removia.

A correção upstream aplica Retry.remove_headers_on_redirect antes da requisição recursiva de baixo nível. Nosso caso de cabeçalhos em minúsculas segue a atenção da regressão upstream quanto à capitalização dos nomes de cabeçalho. O caso de remoção personalizada verifica que a regra respeita o conjunto configurado, além apenas dos três nomes padrão.

O aviso credita christos-cantina-security como relator, illia-v como coordenador e sethmlarson como revisor da remediação. A contribuição de Sergio Rodriguez aqui é o harness offline independente e a análise antes/depois. Esta é uma reprodução da CVE publicada por eles.

Reproduza a fixture

Use Python 3.10 ou posterior. Não é necessário pip install nem ambiente virtual: cada versão é importada diretamente de seu wheel em Python puro, em um subprocesso isolado e novo.

A partir da raiz do repositório do portfólio:

python -B ./labs/cve-replay/run_replay.py --fetch
python -B ./labs/cve-replay/run_replay.py

O primeiro comando baixa os dois wheels exatos para o diretório ignorado .cache/wheels/ do laboratório e verifica seus hashes SHA-256 contra o manifesto. O segundo comando usa esse cache sem baixar. Para um checkout de código-fonte independente, execute python -B run_replay.py --fetch, depois o mesmo comando sem --fetch. --cache aceita um diretório de cache local diferente.

Onde o mock começa

HTTPConnectionPool._make_request é substituído por um transporte de duas respostas: um 302 com localização fixa, depois um 200. A fixture captura os argumentos que chegam a essa fronteira. O parsing, a política de retry, a filtragem de cabeçalhos e o tratamento recursivo de redirecionamento do urllib3 executam sem alterações a partir do wheel selecionado.

Todos os destinos são nomes reservados .invalid fixos; todos os valores de cabeçalho começam com DUMMY. A construção de socket e as funções de DNS lançam erro imediatamente. A sondagem de capacidade IPv6 em tempo de importação da biblioteca é negada e registrada separadamente; os cenários de replay não tentam nenhuma operação de rede. Não há servidor escutando nem alvo ativo.

Isso valida o tratamento de argumentos de redirecionamento. Não mede o tráfego de proxy de ponta a ponta. A versão 2.7.0 é a primeira correção para esta CVE específica; esta comparação histórica não é uma recomendação para selecioná-la em vez de versões suportadas mais recentes.

Fontes e atribuição

  • Aviso dos mantenedores / CVE-2026-44431
  • Correção upstream e testes de regressão
  • Código-fonte da versão afetada
  • Código-fonte da versão corrigida
  • Notas de versão do urllib3 2.7.0
  • URLs de pacotes fixados, metadados do PyPI e hashes

Os scripts da fixture e a análise são trabalho original do portfólio. O urllib3 é um projeto upstream distribuído sob sua licença MIT; seu código e wheels de versão não são redistribuídos no arquivo de código-fonte do portfólio. Eles são baixados separadamente do PyPI e importados sem alterações para o experimento.

Baixar ferramenta