Every CVESearch/Get API key

CVE-2026-73646

PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure

7.5 HighFix available

CVE-2026-73646 is a high vulnerability (CVSS 7.5) 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.53%, the 45th percentile. Fixed in postcss 8.5.18.

What does this mean?
Severity
7.5 HighCVSS 3.1, CVE List
Exploit chance
0.53%EPSS, 45th percentile
Exploitation
None knownNot on CISA’s or ENISA’s lists
Fixed in
8.5.18postcss +39 more

Description

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.18, lib/previous-map.js loadMap() passes attacker-controlled sourceMappingURL values to join(dirname(opts.from), annotation), and loadFile() permits traversed or absolute .map paths, allowing untrusted CSS processed without map: false to disclose sourcesContent from arbitrary reachable .map files through result.map. This issue is fixed in version 8.5.18.

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
High
Integrity
None
Availability
None

Exploit likelihood

0.53%Up 0.2 points since Aug 18, 2026
90%50%10%1%

Affected products

Affected packages

Affected packages
PackageAffectedFixed
postcss
npm
through 8.5.17
8.5.18
postcss
TuxCare: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
postcss
TuxCare:npm
8.3.6-tuxcare.0 up to 8.3.6-tuxcare.5, plus listed versions
8.3.68.3.6-tuxcare.18.3.6-tuxcare.28.3.6-tuxcare.38.3.6-tuxcare.4
8.3.6-tuxcare.5
postcss
TuxCare:npm
7.0.32-tuxcare.0 up to 7.0.32-tuxcare.3, plus listed versions
7.0.327.0.32-tuxcare.17.0.32-tuxcare.2
7.0.32-tuxcare.3
postcss
TuxCare:npm
7.0.17-tuxcare.0 up to 7.0.17-tuxcare.3, plus listed versions
7.0.177.0.17-tuxcare.17.0.17-tuxcare.2
7.0.17-tuxcare.3
postcss
TuxCare:npm
5.2.18-tuxcare.0 up to 5.2.18-tuxcare.3, plus listed versions
5.2.185.2.18-tuxcare.15.2.18-tuxcare.2
5.2.18-tuxcare.3
postcss
TuxCare:npm
8.4.14-tuxcare.0 up to 8.4.14-tuxcare.5, plus listed versions
8.4.148.4.14-tuxcare.18.4.14-tuxcare.28.4.14-tuxcare.38.4.14-tuxcare.4
8.4.14-tuxcare.5
postcss
TuxCare:npm
8.4.5-tuxcare.0 up to 8.4.5-tuxcare.4, plus listed versions
8.4.58.4.5-tuxcare.18.4.5-tuxcare.28.4.5-tuxcare.3
8.4.5-tuxcare.4
postcss
TuxCare:npm
8.4.31-tuxcare.0 up to 8.4.31-tuxcare.4, plus listed versions
8.4.318.4.31-tuxcare.18.4.31-tuxcare.28.4.31-tuxcare.3
8.4.31-tuxcare.4
postcss
TuxCare:npm
8.4.41-tuxcare.0 up to 8.4.41-tuxcare.5, plus listed versions
8.4.418.4.41-tuxcare.18.4.41-tuxcare.28.4.41-tuxcare.38.4.41-tuxcare.4
8.4.41-tuxcare.5
Show 30 moreShow less
Affected packages
PackageAffectedFixed
postcss
TuxCare:npm
8.2.15-tuxcare.0 up to 8.2.15-tuxcare.4, plus listed versions
8.2.158.2.15-tuxcare.18.2.15-tuxcare.28.2.15-tuxcare.3
8.2.15-tuxcare.4
postcss
TuxCare:npm
8.5.6-tuxcare.0 up to 8.5.6-tuxcare.5, plus listed versions
8.5.68.5.6-tuxcare.18.5.6-tuxcare.28.5.6-tuxcare.38.5.6-tuxcare.4
8.5.6-tuxcare.5
postcss
TuxCare:npm
8.2.13-tuxcare.0 up to 8.2.13-tuxcare.3, plus listed versions
8.2.138.2.13-tuxcare.18.2.13-tuxcare.2
8.2.13-tuxcare.3
postcss
TuxCare:npm
8.5.17-tuxcare.0 up to 8.5.17-tuxcare.1, plus listed versions
8.5.17
8.5.17-tuxcare.1
postcss
TuxCare: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
postcss
TuxCare:npm
7.0.14-tuxcare.0 up to 7.0.14-tuxcare.4, plus listed versions
7.0.147.0.14-tuxcare.17.0.14-tuxcare.27.0.14-tuxcare.3
7.0.14-tuxcare.4
postcss
TuxCare:npm
7.0.21-tuxcare.0 up to 7.0.21-tuxcare.4, plus listed versions
7.0.217.0.21-tuxcare.17.0.21-tuxcare.27.0.21-tuxcare.3
7.0.21-tuxcare.4
postcss
TuxCare: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
postcss
TuxCare: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
postcss
TuxCare: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
postcss
TuxCare: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
postcss
TuxCare: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
postcss
TuxCare: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
postcss
TuxCare: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
postcss
TuxCare:npm
8.4.17-tuxcare.0 up to 8.4.17-tuxcare.2, plus listed versions
8.4.178.4.17-tuxcare.1
8.4.17-tuxcare.2
postcss
TuxCare:npm
8.4.33-tuxcare.0 up to 8.4.33-tuxcare.2, plus listed versions
8.4.338.4.33-tuxcare.1
8.4.33-tuxcare.2
postcss
TuxCare: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-postcss
Debian: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 less
8.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-postcss
Debian: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 less
8.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-postcss
Debian:14
before 8.5.19+~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 4 moreShow less
8.5.15+~cs9.3.39-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1
8.5.19+~cs10.2.23-1
postcss
npm
before 8.5.18
8.5.18
prometheus3.13
Red Hat:hummingbird:1
From an advisory covering 4 CVEs
before 0:3.13.2-0.2.hum1
0:3.13.2-0.2.hum1
prometheus3.5
Red Hat:hummingbird:1
From an advisory covering 2 CVEs
before 0:3.5.5-0.8.hum1
0:3.5.5-0.8.hum1
postcss
Root: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.15-aikido.27.0.39-aikido.78.5.8-aikido.55.2.18-aikido.57.0.32-aikido.18.4.32-aikido.17.0.36-aikido.18.5.6-aikido.56.0.23-aikido.38.4.31-aikido.48.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.4.21-aikido.16.0.23-aikido.16.0.1-aikido.16.0.23-aikido.2
@rootio/postcss
Root: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.15-root.io.27.0.39-root.io.78.5.8-root.io.55.2.18-root.io.57.0.32-root.io.18.4.32-root.io.17.0.36-root.io.18.5.6-root.io.56.0.23-root.io.38.4.31-root.io.48.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.4.21-root.io.16.0.23-root.io.16.0.1-root.io.16.0.23-root.io.2
node-postcss
Ubuntu:20.04:LTS
All versions, plus listed versions
6.0.23-16.0.23-3
None known
node-postcss
Ubuntu: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-postcss
Ubuntu:24.04:LTS
All versions, plus listed versions
8.4.20+~cs8.0.23-18.4.31+~cs8.0.26-1
None known
node-postcss
Ubuntu:26.04:LTS
All versions, plus listed versions
8.5.6+~cs9.3.28-18.5.8+~cs9.3.30-1
None known
velociraptor
openSUSE:Tumbleweed
From an advisory covering 40 CVEs
before 0.76.7.0.git145.b60ef1146-1.1
0.76.7.0.git145.b60ef1146-1.1

What each source reports

CVE List Score used7.5

PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure

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.18, lib/previous-map.js loadMap() passes attacker-controlled sourceMappingURL values to join(dirname(opts.from), annotation), and loadFile() permits traversed or absolute .map paths, allowing untrusted CSS processed without map: false to disclose sourcesContent from arbitrary reachable .map files through result.map. This issue is fixed in version 8.5.18.

Record
CVE-2026-73646
CVSS 3.1
7.5 HighCVSS: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
EUVDEUVD-2026-602397.5

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.18, lib/previous-map.js loadMap() passes attacker-controlled sourceMappingURL values to join(dirname(opts.from), annotation), and loadFile() permits traversed or absolute .map paths, allowing untrusted CSS processed without map: false to disclose sourcesContent from arbitrary reachable .map files through result.map. This issue is fixed in version 8.5.18.

Record
EUVD-2026-60239
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-r28c-9q8g-f8497.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

  1. 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; map option untouched.
  2. Attacker submits CSS containing /*# sourceMappingURL=../../../../some/other/app/dist/bundle.js.map */ (or an absolute path if from is unset).
  3. PostCSS reads that .map file and folds its sourcesContent into result.map.
  4. 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).
  5. 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 HighCVSS: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
NVD7.5

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.18, lib/previous-map.js loadMap() passes attacker-controlled sourceMappingURL values to join(dirname(opts.from), annotation), and loadFile() permits traversed or absolute .map paths, allowing untrusted CSS processed without map: false to disclose sourcesContent from arbitrary reachable .map files through result.map. This issue is fixed in version 8.5.18.

Record
CVE-2026-73646
CVSS 3.1
7.5 HighCVSS: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
OSV7.5

PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure

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.18, lib/previous-map.js loadMap() passes attacker-controlled sourceMappingURL values to join(dirname(opts.from), annotation), and loadFile() permits traversed or absolute .map paths, allowing untrusted CSS processed without map: false to disclose sourcesContent from arbitrary reachable .map files through result.map. This issue is fixed in version 8.5.18.

Record
CVE-2026-73646
CVSS 3.1
7.5 HighCVSS: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
OSVDEBIAN-CVE-2026-736467.5

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.18, lib/previous-map.js loadMap() passes attacker-controlled sourceMappingURL values to join(dirname(opts.from), annotation), and loadFile() permits traversed or absolute .map paths, allowing untrusted CSS processed without map: false to disclose sourcesContent from arbitrary reachable .map files through result.map. This issue is fixed in version 8.5.18.

Record
DEBIAN-CVE-2026-73646
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
Show 33 moreShow less
OSVGHSA-r28c-9q8g-f8497.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

  1. 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; map option untouched.
  2. Attacker submits CSS containing /*# sourceMappingURL=../../../../some/other/app/dist/bundle.js.map */ (or an absolute path if from is unset).
  3. PostCSS reads that .map file and folds its sourcesContent into result.map.
  4. 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).
  5. 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 HighCVSS: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:502877.5

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:50287
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-13
OSVRHSA-2026:545207.5

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:54520
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-13
OSVUBUNTU-CVE-2026-736467.5

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.18, lib/previous-map.js loadMap() passes attacker-controlled sourceMappingURL values to join(dirname(opts.from), annotation), and loadFile() permits traversed or absolute .map paths, allowing untrusted CSS processed without map: false to disclose sourcesContent from arbitrary reachable .map files through result.map. This issue is fixed in version 8.5.18.

Record
UBUNTU-CVE-2026-73646
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVCLSA-2026-1784856450No 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-1787592261No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.3.6-tuxcare.5.

Record
CLSA-2026-1787592261
Updated
2026-11-02
OSVCLSA-2026-1790019520No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 7.0.32-tuxcare.3.

Record
CLSA-2026-1790019520
Updated
2026-11-02
OSVCLSA-2026-1790023229No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 7.0.17-tuxcare.3.

Record
CLSA-2026-1790023229
Updated
2026-11-02
OSVCLSA-2026-1790023231No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 5.2.18-tuxcare.3.

Record
CLSA-2026-1790023231
Updated
2026-11-02
OSVCLSA-2026-1790089248No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.14-tuxcare.5.

Record
CLSA-2026-1790089248
Updated
2026-11-02
OSVCLSA-2026-1790089252No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.5-tuxcare.4.

Record
CLSA-2026-1790089252
Updated
2026-11-02
OSVCLSA-2026-1790089264No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.31-tuxcare.4.

Record
CLSA-2026-1790089264
Updated
2026-11-02
OSVCLSA-2026-1790089280No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.41-tuxcare.5.

Record
CLSA-2026-1790089280
Updated
2026-11-02
OSVCLSA-2026-1790089282No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.2.15-tuxcare.4.

Record
CLSA-2026-1790089282
Updated
2026-11-02
OSVCLSA-2026-1790099843No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.6-tuxcare.5.

Record
CLSA-2026-1790099843
Updated
2026-11-02
OSVCLSA-2026-1790102697No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.2.13-tuxcare.3.

Record
CLSA-2026-1790102697
Updated
2026-11-02
OSVCLSA-2026-1790541900No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.17-tuxcare.1.

Record
CLSA-2026-1790541900
Updated
2026-11-02
OSVCLSA-2026-1790604941No 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-1791377049No score

TuxCare security update for postcss (2 CVEs)

TuxCare rebuilt postcss to address 2 CVEs. Fixed in 7.0.14-tuxcare.4.

Record
CLSA-2026-1791377049
Updated
2026-11-02
OSVCLSA-2026-1791377114No score

TuxCare security update for postcss (2 CVEs)

TuxCare rebuilt postcss to address 2 CVEs. Fixed in 7.0.21-tuxcare.4.

Record
CLSA-2026-1791377114
Updated
2026-11-02
OSVCLSA-2026-1791629015No 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-1791629172No 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-1791633202No 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-1791832298No 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-1792765677No 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-1792765790No 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-1792791822No 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-1793097120No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.17-tuxcare.2.

Record
CLSA-2026-1793097120
Updated
2026-11-02
OSVCLSA-2026-1793097204No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.33-tuxcare.2.

Record
CLSA-2026-1793097204
Updated
2026-11-02
OSVCLSA-2026-1793125669No 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:12070-1No 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-CVE-2026-73646No score

CVE-2026-73646 in postcss - Patched by Root

Root has patched CVE-2026-73646 in the postcss package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2026-73646
Updated
2026-11-02
OSVROOT-APP-NPM-GHSA-r28c-9q8g-f849No 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

History

History
RecordedChangedSources
affected, aliases, published, referencesOSV
affected, facts
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

References

Show 75 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open