Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cve-replay — Unabhängige Offline-Regression von CVE-2026-44431 über gepinnte urllib3-Releases hinweg, mit Attribution des ursprünglichen Melders. | Kitploit
Tools/GitHubGitHub/ssh-pur66/cve-replay
DefensivwerkzeugeStatische AnalyseSchwachstellenanalyseWebsicherheitPapers & ForschungLernen & BildungLabs & Praxis
GitHubssh-pur66/cve-replay

cve-replay

Unabhängige Offline-Regression von CVE-2026-44431 über gepinnte urllib3-Releases hinweg, mit Attribution des ursprünglichen Melders.

Repository anzeigen
3vor 3 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite
Teilen

CVE Replay: die Redirect-Header-Grenze

CVE-2026-44431 · urllib3 2.6.3 → 2.7.0 · reproduziert am 27. September 2026

Eine Anfrage trägt drei sensible Header an einen Origin. Ein Redirect ändert das Ziel. Trägt die nächste Anfrage sie noch?

Diese unabhängige Regression führt die echte Redirect-Implementierung aus zwei exakten urllib3-Releases aus. Version 2.6.3 behält alle drei Header über die betroffene Low-Level-API bei. Version 2.7.0 entfernt sie. Ein harmloser Header überlebt, und gewöhnliche Anfragen funktionieren weiterhin.

Gemessenes Ergebnis

Fixtureurllib3 2.6.3urllib3 2.7.0
Low-Level Cross-Origin-Redirect3 sensible Header beibehalten0 beibehalten
Derselbe Fall mit kleingeschriebenen Namen3 beibehalten0 beibehalten
High-Level-API-Kontrolle0 beibehalten0 beibehalten
Direkte 200-Antwort3 wie beabsichtigt beibehalten3 wie beabsichtigt beibehalten
Redirect explizit deaktiviertEin Aufruf; 302 zurückgegebenEin Aufruf; 302 zurückgegeben
Benutzerdefiniertes Entfernungsset fügt harmlosen Marker hinzuAlle 4 Header beibehaltenAlle 4 entfernt

12/12 Szenario-Erwartungen erfüllt. Jedes Szenario prüft außerdem den Antwortstatus, die Anzahl der Transportaufrufe, den anfänglichen Header-Satz, das Ergebnis des harmlosen Headers und dass die Header des Aufrufers nicht verändert wurden. Das verwundbare Ergebnis ist ein erwartetes Baseline-Ergebnis, keine bestandene Sicherheitsprüfung.

Maschinenlesbare Ergebnisse enthalten die erfassten Argumente, exakte Wheel-Hashes, Laufzeit, Testquell-Hashes, Attribution und Reproduktionszeit.

Das veröffentlichte Problem

Die Upstream-Advisory, veröffentlicht am 7. Mai 2026, identifiziert ein Informationsoffenlegungsproblem im proxied Low-Level-Redirect-Pfad von urllib3. Sie listet die Versionen >=1.23, <2.7.0 als betroffen auf. Der Aufruf von ProxyManager.connection_from_url(...).urlopen(..., assert_same_host=False) konnte konfigurierte sensible Header in eine weitergeleitete Anfrage an einen anderen Origin übertragen. Die High-Level-Manager-API entfernte sie bereits.

Der Upstream-Fix wendet Retry.remove_headers_on_redirect vor der rekursiven Low-Level-Anfrage an. Unser Fall mit kleingeschriebenen Headern folgt der Aufmerksamkeit der Upstream-Regression für die Groß-/Kleinschreibung von Header-Namen. Der Fall mit benutzerdefinierter Entfernung prüft, dass die Regel das konfigurierte Set berücksichtigt, über die drei Standardnamen hinaus.

Die Advisory nennt christos-cantina-security als Reporter, illia-v als Koordinator und sethmlarson als Reviewer der Behebung. Sergio Rodriguez' Beitrag hier ist die unabhängige Offline-Testumgebung und die Vorher-/Nachher-Analyse. Dies ist eine Reproduktion ihres veröffentlichten CVE.

Das Fixture reproduzieren

Verwenden Sie Python 3.10 oder später. Kein pip install oder virtuelle Umgebung ist erforderlich: Jede Version wird direkt aus ihrem Pure-Python-Wheel in einem frischen isolierten Subprozess importiert.

Vom Stammverzeichnis des Portfolio-Repositories aus:

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

Der erste Befehl lädt die beiden exakten Wheels in das ignorierte .cache/wheels/-Verzeichnis des Labs herunter und prüft ihre SHA-256-Hashes gegen das Manifest. Der zweite Befehl verwendet diesen Cache ohne Download. Für einen eigenständigen Source-Checkout führen Sie python -B run_replay.py --fetch aus, dann denselben Befehl ohne --fetch. --cache akzeptiert ein anderes lokales Cache-Verzeichnis.

Wo das Mocking beginnt

HTTPConnectionPool._make_request wird durch einen Transport mit zwei Antworten ersetzt: eine 302 mit fester Location, dann eine 200. Das Fixture erfasst die Argumente, die diese Grenze erreichen. urllib3s Parsing, Retry-Policy, Header-Filterung und rekursive Redirect-Behandlung laufen unverändert aus dem ausgewählten Wheel.

Alle Ziele sind feste reservierte .invalid-Namen; alle Header-Werte beginnen mit DUMMY. Socket-Konstruktion und DNS-Funktionen werfen sofort Fehler. Die Importzeit-IPv6-Fähigkeitsprüfung der Bibliothek wird verweigert und separat aufgezeichnet; die Replay-Szenarien versuchen keine Netzwerkoperationen. Es gibt keinen lauschenden Server oder Live-Ziel.

Dies validiert die Behandlung von Redirect-Argumenten. Es misst keinen End-to-End-Proxy-Verkehr. Version 2.7.0 ist der erste Fix für diesen speziellen CVE; dieser historische Vergleich ist keine Empfehlung, sie neueren unterstützten Releases vorzuziehen.

Quellen und Attribution

  • Maintainer-Advisory / CVE-2026-44431
  • Upstream-Fix und Regressionstests
  • Quellcode der betroffenen Version
  • Quellcode der korrigierten Version
  • urllib3 2.7.0 Release Notes
  • Gepinnte Paket-URLs, PyPI-Metadaten und Hashes

Die Fixture-Skripte und die Analyse sind originale Portfolio-Arbeit. urllib3 ist ein Upstream-Projekt, das unter seiner MIT-Lizenz vertrieben wird; sein Code und seine Release-Wheels werden im Portfolio-Quellarchiv nicht weiterverbreitet. Sie werden separat von PyPI heruntergeladen und für das Experiment unverändert importiert.

Tool herunterladen