
Cloud Vulnerability DB
Eine von der Community geführte Datenbank für Schwachstellen
CVE-2026-69153 is a path traversal and information disclosure vulnerability in PostCSS, a widely used Node.js CSS transformation library. It represents an incomplete fix of a prior advisory (GHSA-6g55-p6wh-862q): the security guard added in lib/previous-map.js to block attacker-controlled sourceMappingURL values only applies when the from option is set, leaving applications that invoke PostCSS without from fully exposed. All PostCSS versions up to and including 8.5.22 (npm) are affected; the fix is available in version 8.5.23. The vulnerability was published on August 3, 2026, and carries a CVSS v4.0 base score of 6.3 (Medium) (Github Advisory, Red Hat Bugzilla).
The root cause is classified as CWE-22 (Path Traversal) and CWE-200 (Exposure of Sensitive Information). In lib/previous-map.js, the PreviousMap.loadFile() method checks for .. traversal and absolute paths only inside an if (cssFile) { ... } block — meaning the guard is entirely skipped when opts.from is not provided (making cssFile falsy). An attacker who can supply CSS content containing a crafted /*# sourceMappingURL=/abs/path/x.map */ or a directory-traversal path causes PostCSS to call readFileSync() on the attacker-specified .map file with no restriction. The file's sources (filesystem paths) and sourcesContent (file contents) are then embedded in the generated source map and returned to the caller. A public proof-of-concept demonstrating the leak on postcss 8.5.22 was included in the advisory (Github Advisory, PostCSS Commit).
Successful exploitation allows an unauthenticated attacker to read arbitrary .map files accessible to the Node.js process — including files outside the web root — and have their contents (filesystem paths and source code) disclosed through the generated source map. The primary impact is a confidentiality breach: sensitive source code, internal path structures, or other data stored in .map-extension files could be exfiltrated. Integrity and availability are not directly affected. The risk is highest for services that process attacker-supplied CSS without a from option and expose result.map to users, such as online CSS playgrounds, minification/linting APIs, and string-input build pipelines (Github Advisory).
from option set (e.g., an online CSS minifier, linter, or playground that accepts raw CSS strings)..map file: Determine the path of a sensitive .map file on the server's filesystem (e.g., a source map for internal application code, or any JSON-formatted file with a .map extension). This may require prior reconnaissance of the server's directory structure.sourceMappingURL comment pointing to the target file:a{color:red}
/*# sourceMappingURL=/etc/app/secret.map */Or using traversal:a{color:red}
/*# sourceMappingURL=../../secret.map */result.map). If the target file is valid JSON, its sources (filesystem paths) and sourcesContent (file contents) will be embedded in the output, disclosing sensitive information (Github Advisory).sourceMappingURL values with absolute paths (e.g., /etc/, /var/, /home/) or ../ sequences in the CSS body; responses containing sourcesContent or sources fields in returned source maps with unexpected filesystem paths./*# sourceMappingURL= comments referencing paths outside the expected project directory; Node.js process errors related to readFileSync on unexpected file paths.readFileSync calls to .map files outside the application's working directory via runtime instrumentation (e.g., strace, Node.js --trace-warnings) may reveal exploitation attempts..map files located in sensitive directories (e.g., /etc/, /tmp/, or other application directories) observable via OS-level auditing tools such as auditd (Github Advisory).The definitive fix is to upgrade PostCSS to version 8.5.23 or later, which applies the traversal and absolute-path rejection unconditionally in loadFile(), regardless of whether cssFile is set (PostCSS Commit). As a workaround for applications that cannot immediately upgrade, always pass the from option when invoking postcss([]).process(css, { from: '/path/to/input.css', ... }) — this activates the existing guard and blocks the traversal. Additionally, setting map: false in PostCSS options disables source map processing entirely and prevents PreviousMap from being constructed. Applications should also validate and sanitize any CSS input from untrusted sources before processing (Github Advisory, Red Hat Bugzilla).
The vulnerability was reported by security researcher anir0y and published by the PostCSS maintainer (Andrey Sitnik) as a GitHub Security Advisory on July 24, 2026, with public disclosure on August 3, 2026. Red Hat triaged the issue at high severity in their Bugzilla tracker, with 142 users CC'd, indicating broad downstream concern across Red Hat product lines. No significant public social media discussion or major media coverage has been identified beyond standard vulnerability database aggregation (Github Advisory, Red Hat Bugzilla).
Quelle: Dieser Bericht wurde mithilfe von KI erstellt
Kostenlose Schwachstellenbewertung
Bewerten Sie Ihre Cloud-Sicherheitspraktiken in 9 Sicherheitsbereichen, um Ihr Risikoniveau zu bewerten und Lücken in Ihren Abwehrmaßnahmen zu identifizieren.
Eine personalisierte Demo anfordern
"Die beste Benutzererfahrung, die ich je gesehen habe, bietet vollständige Transparenz für Cloud-Workloads."
"„Wiz bietet eine zentrale Oberfläche, um zu sehen, was in unseren Cloud-Umgebungen vor sich geht.“ "
"„Wir wissen, dass, wenn Wiz etwas als kritisch identifiziert, es auch wirklich kritisch ist.“"