CVE-2026-39245 in decompress
Zusammenfassung
von VulDB • 09.07.2026
decompress vor Version 4.2.2 enthält eine fehlerhafte Pfadcontainment-Prüfung, die Directory Traversal und das Schreiben beliebiger Dateien ermöglicht. Die Funktion safeMakeDir (index.js Zeile 29) und die Validierung des Extraktionspfads (index.js Zeile 106) verwenden String.indexOf(), um zu überprüfen, ob der aufgelöste Pfad innerhalb des Ausgabeverzeichnisses liegt: realDestinationDir.indexOf(realOutputPath) !== 0. Diese Prüfung ist fehlerhaft, da sie keine Trennzeichen-Grenze für Pfade erzwingt. Beispielsweise gibt "/tmp/app_config".indexOf("/tmp/app") den Wert 0 zurück und besteht die Prüfung fälschlicherweise, obwohl /tmp/app_config außerhalb von /tmp/app liegt. In Kombination mit der nicht validierten Erstellung symbolischer Links im selben Paket kann ein Angreifer beliebige Dateien in Verzeichnissen schreiben, die benachbart zum Extraktionsziel liegen. Dies ist eine Umgehung der Korrektur für CVE-2020-12265. Die korrekte Prüfung erfordert das Anhängen eines Pfadtrennzeichens: realParentPath.indexOf(realOutputPath + path.sep) !== 0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.