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
Herramientas/GitHubGitHub/ssh-pur66/cve-replay
Herramientas DefensivasAnálisis EstáticoAnálisis de VulnerabilidadesSeguridad WebPapers e InvestigaciónAprendizaje y EducaciónLabs y Práctica
GitHubssh-pur66/cve-replay

cve-replay

Regresión offline independiente de CVE-2026-44431 en versiones fijadas de urllib3, con atribución al reportero original.

Ver RepositorioSitio web
3hace 3 díasAú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 Replay: el límite del encabezado de redirección

CVE-2026-44431 · urllib3 2.6.3 → 2.7.0 · reproducido el 27 de septiembre de 2026

Una solicitud lleva tres encabezados sensibles a un origen. Una redirección cambia el destino. ¿La siguiente solicitud todavía los lleva?

Esta regresión independiente ejecuta la implementación real de redirección de dos versiones exactas de urllib3. La versión 2.6.3 conserva los tres encabezados a través de la API de bajo nivel afectada. La versión 2.7.0 los elimina. Un encabezado benigno sobrevive, y las solicitudes ordinarias siguen funcionando.

Resultado medido

Fixtureurllib3 2.6.3urllib3 2.7.0
Redirección de bajo nivel entre orígenes3 encabezados sensibles conservados0 conservados
Mismo caso con nombres en minúsculas3 conservados0 conservados
Control de API de alto nivel0 conservados0 conservados
Respuesta directa 2003 conservados según lo previsto3 conservados según lo previsto
Redirección explícitamente deshabilitadaUna llamada; 302 devueltoUna llamada; 302 devuelto
El conjunto de eliminación personalizado añade un marcador benignoLos 4 encabezados conservadosLos 4 eliminados

12/12 expectativas de escenario superadas. Cada escenario también verifica el estado de la respuesta, el número de llamadas de transporte, el conjunto de encabezados inicial, el resultado del encabezado benigno, y que los encabezados del llamador no fueron mutados. El resultado vulnerable es un resultado de referencia esperado, no una verificación de seguridad superada.

Resultados legibles por máquina incluyen los argumentos capturados, hashes exactos de los wheels, tiempo de ejecución, hashes del código fuente de las pruebas, atribución y hora de reproducción.

El problema publicado

El aviso upstream, publicado el 7 de mayo de 2026, identifica un problema de exposición de información en la ruta de redirección de bajo nivel con proxy de urllib3. Enumera las versiones >=1.23, <2.7.0 como afectadas. Llamar a ProxyManager.connection_from_url(...).urlopen(..., assert_same_host=False) podía llevar encabezados sensibles configurados a una solicitud redirigida a otro origen. La API de alto nivel del gestor ya los eliminaba.

La corrección upstream aplica Retry.remove_headers_on_redirect antes de la solicitud recursiva de bajo nivel. Nuestro caso de encabezados en minúsculas sigue la atención de la regresión upstream al uso de mayúsculas y minúsculas en los nombres de encabezado. El caso de eliminación personalizada verifica que la regla respeta el conjunto configurado, más allá de solo los tres nombres predeterminados.

El aviso acredita a christos-cantina-security como reportero, a illia-v como coordinador, y a sethmlarson como revisor de la remediación. La contribución de Sergio Rodriguez aquí es el arnés offline independiente y el análisis antes/después. Esta es una reproducción de su CVE publicado.

Reproducir el fixture

Usa Python 3.10 o posterior. No se necesita pip install ni entorno virtual: cada versión se importa directamente desde su wheel de Python puro en un subproceso aislado nuevo.

Desde la raíz del repositorio del portafolio:

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

El primer comando descarga los dos wheels exactos en el directorio ignorado .cache/wheels/ del laboratorio y verifica sus hashes SHA-256 contra el manifiesto. El segundo comando usa esa caché sin descargar. Para una copia de código fuente independiente, ejecuta python -B run_replay.py --fetch, luego el mismo comando sin --fetch. --cache acepta un directorio de caché local diferente.

Dónde comienza el mock

HTTPConnectionPool._make_request se reemplaza con un transporte de dos respuestas: un 302 con una ubicación fija, luego un 200. El fixture captura los argumentos que llegan a ese límite. El análisis, la política de reintentos, el filtrado de encabezados y el manejo recursivo de redirecciones de urllib3 se ejecutan sin cambios desde el wheel seleccionado.

Todos los destinos son nombres .invalid reservados y fijos; todos los valores de encabezado comienzan con DUMMY. La construcción de sockets y las funciones DNS lanzan excepciones inmediatamente. La sonda de capacidad IPv6 en tiempo de importación de la biblioteca se deniega y se registra por separado; los escenarios de replay no intentan ninguna operación de red. No hay servidor escuchando ni objetivo en vivo.

Esto valida el manejo de argumentos de redirección. No mide el tráfico de proxy de extremo a extremo. La versión 2.7.0 es la primera corrección para este CVE en particular; esta comparación histórica no es una recomendación para seleccionarla por encima de versiones compatibles más recientes.

Fuentes y atribución

  • Aviso del mantenedor / CVE-2026-44431
  • Corrección upstream y pruebas de regresión
  • Código fuente de la versión afectada
  • Código fuente de la versión corregida
  • Notas de la versión urllib3 2.7.0
  • URLs de paquetes fijados, metadatos de PyPI y hashes

Los scripts del fixture y el análisis son trabajo original del portafolio. urllib3 es un proyecto upstream distribuido bajo su licencia MIT; su código y los wheels de las versiones no se redistribuyen en el archivo fuente del portafolio. Se descargan por separado desde PyPI y se importan sin cambios para el experimento.

Descargar herramienta