Skip to content

fix(security): bump postcss pin from 8.5.12 to 8.5.23#9351

Draft
bitgo-ai-agent-dev[bot] wants to merge 1 commit into
masterfrom
inf-2186-bump-postcss-cve
Draft

fix(security): bump postcss pin from 8.5.12 to 8.5.23#9351
bitgo-ai-agent-dev[bot] wants to merge 1 commit into
masterfrom
inf-2186-bump-postcss-cve

Conversation

@bitgo-ai-agent-dev

Copy link
Copy Markdown

What

  • Bumps the repo-wide postcss pin in both the resolutions block (Yarn classic) and overrides block (npm/pnpm/Yarn Berry) of the root package.json from 8.5.12 to 8.5.23.
  • Updates yarn.lock so the single consolidated postcss entry resolves to 8.5.23 instead of 8.5.12.

Why

GitHub Advisory GHSA-r28c-9q8g-f849 (CVSS 7.5, High) affects postcss <= 8.5.17. The vulnerability is a path-traversal bug in PostCSS's sourceMappingURL auto-loading (lib/previous-map.js): a crafted sourceMappingURL containing ../../../../ sequences can read arbitrary .map files from the filesystem. The fix (introduced in 8.5.18) restricts source-map loading to the opts.from directory.

This advisory was failing the "Enforce Vulnerability Severity Threshold" osv-scanner gate in .github/workflows/publish.yml, blocking all "Publish @bitgo-beta" runs before they reached the npm publish steps.

postcss is not a direct dependency — it is pulled in transitively by css-loader, sanitize-html, @vue/compiler-sfc, and the modules/web-demo app. All four semver ranges (^8.2.14, ^8.2.15, ^8.3.11, ^8.5.6) are satisfied by 8.5.23. None of BitGoJS's usages load source maps from outside opts.from, so the new restriction has no functional impact.

Test plan

  • Verify yarn.lock resolves a single postcss@8.5.23 entry (no 8.5.12 remaining).
  • Confirm the osv-scanner "Enforce Vulnerability Severity Threshold" step passes in CI.
  • Confirm the "Publish @bitgo-beta" workflow completes successfully after merge.

Ticket: INF-2186

Bumps the repo-wide postcss override/resolution from 8.5.12 to
8.5.23 to remediate GHSA-r28c-9q8g-f849 (CVSS 7.5, High).

The advisory describes a path-traversal bug in PostCSS's
sourceMappingURL auto-loading (lib/previous-map.js): a crafted
sourceMappingURL containing ../ sequences could read arbitrary .map
files from the filesystem. The fix in 8.5.18+ restricts source-map
loading to the opts.from directory; 8.5.18 through 8.5.23 contain no
further breaking changes.

postcss is not a direct dependency of BitGoJS; it is pulled in
transitively by css-loader, sanitize-html, @vue/compiler-sfc, and the
web-demo app. Because the existing resolutions/overrides pin was
already collapsing all four ranges (^8.2.14, ^8.2.15, ^8.3.11,
^8.5.6) to a single version, switching to 8.5.23 satisfies every
range unchanged. None of BitGoJS's usages load source maps from
outside opts.from, so the new restriction has no functional impact.

This unblocks the "Publish @bitgo-beta" GitHub Actions workflow, which
was failing at the osv-scanner "Enforce Vulnerability Severity
Threshold" gate due to this advisory.

Ticket: INF-2186
Session-Id: 87e939d9-34b0-414f-9c42-0dbca6398ab4
Task-Id: da7773f3-f9b6-44b0-b5df-ce432cca3a78
@linear-code

linear-code Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

INF-2186

@ralph-bitgo
ralph-bitgo Bot force-pushed the inf-2186-bump-postcss-cve branch from a200865 to a8a0257 Compare July 24, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants