chore(deps): update dependency postcss to v8.5.23 [security] - #804
Open
miru-renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency postcss to v8.5.23 [security]#804miru-renovate[bot] wants to merge 1 commit into
miru-renovate[bot] wants to merge 1 commit into
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
miru-renovate
Bot
force-pushed
the
renovate/npm-postcss-vulnerability
branch
4 times, most recently
from
August 11, 2026 21:35
e30a83e to
d058ba8
Compare
miru-renovate
Bot
force-pushed
the
renovate/npm-postcss-vulnerability
branch
2 times, most recently
from
August 11, 2026 21:43
293bb37 to
90b196e
Compare
miru-renovate
Bot
force-pushed
the
renovate/npm-postcss-vulnerability
branch
3 times, most recently
from
August 11, 2026 21:54
b102d15 to
7833363
Compare
miru-renovate
Bot
force-pushed
the
renovate/npm-postcss-vulnerability
branch
3 times, most recently
from
August 11, 2026 22:05
9c47de4 to
85d3aa7
Compare
miru-renovate
Bot
force-pushed
the
renovate/npm-postcss-vulnerability
branch
2 times, most recently
from
August 11, 2026 22:13
aead735 to
b59c00f
Compare
miru-renovate
Bot
force-pushed
the
renovate/npm-postcss-vulnerability
branch
3 times, most recently
from
August 11, 2026 22:24
ecbe623 to
38984bc
Compare
miru-renovate
Bot
force-pushed
the
renovate/npm-postcss-vulnerability
branch
4 times, most recently
from
August 11, 2026 22:40
79c62a7 to
a9fc69a
Compare
miru-renovate
Bot
force-pushed
the
renovate/npm-postcss-vulnerability
branch
28 times, most recently
from
August 12, 2026 01:08
ed06d60 to
3f27bd9
Compare
Contributor
|
Deployment failed for project miru with the following error: Learn More: https://vercel.com/lawands-projects?upgradeToPro=build-rate-limit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
8.5.18→8.5.23PostCSS: incomplete fix of GHSA-6g55-p6wh-862q — attacker-controlled sourceMappingURL reads arbitrary .map files when
fromis unsetCVE-2026-69153 / GHSA-fxqj-rqcc-2cmp
More information
Details
Summary
The fix for GHSA-6g55-p6wh-862q added a guard in
lib/previous-map.jsPreviousMap.loadFile()that restricts an attacker-controlledsourceMappingURL(from a CSS comment) to a.mapextension and, for untrusted maps, rejects..traversal and absolute paths. The traversal/absolute rejection is nested insideif (cssFile) { ... }. When PostCSS is invoked without thefromoption,cssFileis falsy and that branch is skipped, leaving only the.mapextension check.PreviousMapis constructed bylib/input.jswheneverpathAvailable && sourceMapAvailable(under Node with source-map available), independent ofopts.from/opts.map(the constructor returns early only foropts.map === false). Sopostcss([]).process(css)on attacker CSS reachesloadFilewithcssFileundefined, and an attacker/*# sourceMappingURL=/abs/path/x.map */(or../-traversing path) is read viareadFileSync. When the file is valid JSON, itssources(filesystem paths) andsourcesContent(source contents) are disclosed in the generated source map.Affected code (v8.5.22 — the release carrying the GHSA-6g55 fix)
Proof of concept (verified on postcss 8.5.22)
Observed output on postcss 8.5.22:
../traversal (nofrom) also succeeds; non-.maptargets (.txt,?x=.map,#.map) are blocked by the.mapcheck. The tested build contains the GHSA-6g55 fix (this.json = JSON.parse(...)inloadMap,consumer()usesthis.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'ssources(local filesystem paths) andsourcesContent(source) into the generated source map, for any consumer that runs PostCSS on attacker-influenced CSS without afromoption and exposesresult.map(online CSS playgrounds, minify/lint services, string-input build steps). Bounded to files ending in.mapthat parse as JSON.Suggested fix
Apply the traversal/absolute-path rejection to the untrusted map path regardless of whether
cssFileis present (resolve againstprocess.cwd()when there is nocssFile, and reject absolute paths and..escape in all untrusted cases), or refuse to load an untrusted external map when no base file is known.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
postcss/postcss (postcss)
v8.5.23Compare Source
opts.fromfor security reasons.v8.5.22Compare Source
v8.5.21Compare Source
v8.5.20Compare Source
AtRule#paramsis set after (by @sarathfrancis90).v8.5.19Compare Source
beforefor new nodes inserted toRoot(by @MahinAnowar).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate.