Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
afterimage — Recherche par diff de correctifs pour les problèmes urllib3 publiés : versions épinglées, harnais hors ligne originaux, comportement avant/après et contrôles bénins. | Kitploit
Outils/GitHubGitHub/ssh-pur66/afterimage
Analyse StatiqueAnalyse des VulnérabilitésExploitationSécurité WebArticles et RechercheApprentissage et Éducation
GitHubssh-pur66/afterimage

afterimage

Recherche par diff de correctifs pour les problèmes urllib3 publiés : versions épinglées, harnais hors ligne originaux, comportement avant/après et contrôles bénins.

Voir le dépôt
88il y a 6 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Site web
Partager

Afterimage

Créé et maintenu par Sergio Rodriguez (SSH-PuR66). Le banc d'expérimentation et l'analyse sont les miens ; les vulnérabilités publiées, le code urllib3 et les correctifs amont conservent leur attribution d'origine.

Méthode de recherche de l'auteur · Banc de redirection · Étude du cadrage par chunks

Lisez le correctif. Reproduisez la défaillance. Testez les deux côtés.

Une redirection change la destination tandis que trois en-têtes sensibles restent attachés. Un analyseur de cadrage accepte une entrée que la version suivante rejette. Afterimage transforme les correctifs de protocole publiés en petites expériences avant/après inspectables.

J'ai construit les bancs d'expérimentation et les cas de contrôle autour de versions d'urllib3 épinglées et non modifiées. Chaque résultat enregistre le hash du paquet, le comportement capturé, la frontière du fixture et l'attribution amont.

ÉtudeVersions comparéesCorpus enregistréInspecter
Frontière des en-têtes de redirection · CVE-2026-44431urllib3 2.6.3 / 2.7.012 cas, dont le comportement affecté et des contrôles béninsRésultats · Banc
Cadrage par chunks · CVE-2026-97689urllib3 2.7.0 / 2.8.032 cas hors ligne bornésMéthode et résultats

Type de recherche : reproduction indépendante de problèmes publiés. Frontière mesurée : gestion des arguments de la bibliothèque et comportement de cadrage en mémoire. L'exploitabilité applicative et l'épuisement des ressources restent hors du périmètre de ces résultats de fixtures.

Ouvrir l'étude publiée

La frontière des en-têtes de redirection

CVE-2026-44431 · urllib3 2.6.3 → 2.7.0 · reproduit le 27 septembre 2026

Une requête transporte trois en-têtes sensibles vers une origine. Une redirection change la destination. La requête suivante les transporte-t-elle encore ?

Cette régression indépendante exécute l'implémentation réelle de redirection de deux versions exactes d'urllib3. La version 2.6.3 conserve les trois en-têtes à travers l'API de bas niveau affectée. La version 2.7.0 les supprime. Un en-tête bénin survit, et les requêtes ordinaires fonctionnent toujours.

Résultat mesuré

Fixtureurllib3 2.6.3urllib3 2.7.0
Redirection inter-origines de bas niveau3 en-têtes sensibles conservés0 conservé
Même cas avec des noms en minuscules3 conservés0 conservé
Contrôle de l'API de haut niveau0 conservé0 conservé
Réponse 200 directe3 conservés comme prévu3 conservés comme prévu
Redirection explicitement désactivéeUn appel ; 302 renvoyéUn appel ; 302 renvoyé
Ensemble de suppression personnalisé ajoutant un marqueur béninLes 4 en-têtes conservésLes 4 supprimés

12/12 attentes de scénario satisfaites. Chaque scénario vérifie également le statut de la réponse, le nombre d'appels de transport, l'ensemble d'en-têtes initial, le résultat de l'en-tête bénin, et que les en-têtes de l'appelant n'ont pas été mutés. Le résultat vulnérable est un résultat de référence attendu, et non une vérification de sécurité réussie.

Les résultats lisibles par machine incluent les arguments capturés, les hashes exacts des wheels, le runtime, les hashes des sources de test, l'attribution et l'heure de reproduction.

Le problème publié

L'avis amont, publié le 7 mai 2026, identifie un problème d'exposition d'informations dans le chemin de redirection de bas niveau proxifié d'urllib3. Il liste les versions >=1.23, <2.7.0 comme affectées. L'appel à ProxyManager.connection_from_url(...).urlopen(..., assert_same_host=False) pouvait transporter des en-têtes sensibles configurés dans une requête redirigée vers une autre origine. L'API de gestionnaire de haut niveau les supprimait déjà.

Le correctif amont applique Retry.remove_headers_on_redirect avant la requête récursive de bas niveau. Notre cas d'en-têtes en minuscules suit l'attention portée par la régression amont à la casse des noms d'en-têtes. Le cas de suppression personnalisée vérifie que la règle respecte l'ensemble configuré, au-delà des trois noms par défaut.

L'avis crédite christos-cantina-security comme rapporteur, illia-v comme coordinateur et sethmlarson comme relecteur de la remédiation. La contribution de Sergio Rodriguez ici est le harnais hors ligne indépendant et l'analyse avant/après. Il s'agit d'une reproduction de leur CVE publiée.

Reproduire le fixture

Utilisez Python 3.10 ou une version ultérieure. Aucune installation via pip ni environnement virtuel n'est nécessaire : chaque version est importée directement depuis son wheel pure-Python dans un sous-processus isolé et neuf.

Depuis la racine du dépôt du portfolio :

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

La première commande télécharge les deux wheels exacts dans le répertoire .cache/wheels/ ignoré du lab et vérifie leurs hachages SHA-256 par rapport au manifeste. La seconde commande utilise ce cache sans téléchargement. Pour une copie source autonome, exécutez python -B run_replay.py --fetch, puis la même commande sans --fetch. --cache accepte un autre répertoire de cache local.

Où commence le mock

HTTPConnectionPool._make_request est remplacé par un transport à deux réponses : un 302 avec une location fixe, puis un 200. La fixture capture les arguments atteignant cette frontière. L'analyse, la politique de retry, le filtrage des en-têtes et la gestion récursive des redirections d'urllib3 s'exécutent sans modification depuis le wheel sélectionné.

Toutes les destinations sont des noms .invalid réservés fixes ; toutes les valeurs d'en-tête commencent par DUMMY. La construction de sockets et les fonctions DNS lèvent immédiatement une exception. La sonde de capacité IPv6 au moment de l'import de la bibliothèque est refusée et enregistrée séparément ; les scénarios de replay ne tentent aucune opération réseau. Il n'y a ni serveur en écoute ni cible live.

Cela valide la gestion des arguments de redirection. Cela ne mesure pas le trafic proxy de bout en bout. La version 2.7.0 est le premier correctif pour ce CVE particulier ; cette comparaison historique n'est pas une recommandation de la choisir plutôt que des versions supportées plus récentes.

Sources et attribution

  • Avis du mainteneur / CVE-2026-44431
  • Correctif upstream et tests de régression
  • Source de la version affectée
  • Source de la version corrigée
  • Notes de version d'urllib3 2.7.0
  • URLs de paquets épinglées, métadonnées PyPI et hachages
Télécharger l’outil