„`html
Zusammenfassung
Die Schwachstelle CVE-2026-76172 betrifft die Node.js URI-Parser-Bibliothek fast-uri. Ein kritischer Fehler in der Scheme-Verarbeitung ermöglicht es Angreifern, Percent-Encoding auszunutzen und damit Off-Site-Redirects, Server-Side Request Forgery (SSRF) oder Policy-Bypässe auszulösen. Die Schweregrad wird mit „High“ (CVSS 7.5) bewertet.
Betroffene Systeme
Folgende Versionen der fast-uri-Bibliothek sind anfällig:
- Version 2.3.1 bis 2.4.4
- Version 3.0.0 bis 3.1.5
- Version 4.0.0 bis 4.1.2
Alle Node.js-Anwendungen, die diese Versionen zur URI-Verarbeitung verwenden, sind potenziell gefährdet.
Technische Details
Der Fehler liegt in der unzureichenden Verarbeitung des URI-Scheme-Komponenten. Während des Parsing-Prozesses wird ein Legacy-Decoder über die Scheme-Komponente ausgeführt, das Ergebnis wird jedoch nicht neu kodiert. Im Gegensatz zur Host-Komponente erfolgt keine Re-Escaping-Behandlung.
Ein URI mit Percent-encoded Slashes im Scheme (z.B. http%3A%2F%2F) wird fehlerhaft interpretiert: Das geparste Ergebnis zeigt keinen Authority-Part, wodurch Host und Error undefined bleiben. Bei Normalisierung oder Auflösung wird jedoch eine Netzwerk-Pfad-Referenz mit attacker-kontrollierten Authority-Parametern ausgegeben.
Zusätzlich expandiert der Legacy-Decoder nicht-standardisierte Escape-Sequenzen und lässt Steuerzeichen im Scheme passieren, wodurch rohe Carriage-Return- und Line-Feed-Zeichen in die Ausgabe gelangen.
Empfohlene Massnahmen
- Sofortiges Update: Upgrade auf fast-uri Version 2.4.5, 3.1.6 oder 4.1.3
- Dependency-Scanning: Überprüfung aller Projekt-Dependencies auf betroffene Versionen
- Code-Review: Prüfung von URI-Parsing-Logik und Host-Validierungsregeln
- Allowlist-Implementierung: Strikte Validierung gegen Allowlists implementieren
Bewertung
CVSS Score: 7.5 (High)
Angriffsvektor: Network
Die Schwachstelle stellt ein erhebliches Sicherheitsrisiko dar, insbesondere für Anwendungen mit URI-Validierung oder externen Ressourcen-Anfragen. Ein Patch ist verfügbar und sollte prioritär eingespielt werden.
„`