Skip to content

deps(canvas): bump postcss 8.5.9 → 8.5.12 (GHSA-qx2v-qp2m-jg93, medium) - #2173

Merged
HongmingWang-Rabbit merged 2 commits into
stagingfrom
deps/postcss-8.5.10-ghsa-qx2v-qp2m-jg93
Apr 27, 2026
Merged

deps(canvas): bump postcss 8.5.9 → 8.5.12 (GHSA-qx2v-qp2m-jg93, medium)#2173
HongmingWang-Rabbit merged 2 commits into
stagingfrom
deps/postcss-8.5.10-ghsa-qx2v-qp2m-jg93

Conversation

@HongmingWang-Rabbit

Copy link
Copy Markdown
Contributor

Summary

Closes the medium-severity dependabot alert on canvas/package-lock.json.

Field Value
Advisory GHSA-qx2v-qp2m-jg93
Severity medium
Issue PostCSS XSS via unescaped </style> in CSS Stringify Output
Vulnerable < 8.5.10
Fix 8.5.10 — pulling 8.5.12 (latest in line)

Change

canvas/package-lock.json: postcss 8.5.9 → 8.5.12
canvas/package.json:      ^8.4.0 → ^8.5.12  (caret floor moves up)

The wider package.json floor (^8.5.12) prevents a future npm install from re-pinning below the safe version. The 8.x major constraint is preserved, so no breaking-change risk.

Verification

  • npx vitest run — 1148/1148 tests pass across 78 files
  • ✓ Lockfile contains exactly the expected version bump

🤖 Generated with Claude Code

Closes the medium-severity dependabot alert on canvas/package-lock.json.
Upstream advisory GHSA-qx2v-qp2m-jg93: "PostCSS has XSS via Unescaped
</style> in its CSS Stringify Output" — fixed in 8.5.10. We pull
8.5.12 since it's already published in the ^8.5.10 line.

package.json's caret range bumps from ^8.4.0 to ^8.5.12 — wider floor
prevents a future install from re-pinning below the safe version. The
8.x major-line constraint is preserved, so no breaking-change risk.

Verification: full canvas vitest suite passes (1148/1148 across
78 files).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The first commit on this branch left the lockfile inconsistent for
Node 20's npm 10:

  npm error \`npm ci\` can only install packages when your package.json
  and package-lock.json are in sync. Please update your lock file...
  npm error Missing: @emnapi/runtime@1.10.0 from lock file
  npm error Missing: @emnapi/core@1.10.0 from lock file

Root cause: my local install ran on Node 24 / npm 11, which doesn't
write peer-optional transitive entries (@img/sharp-* declares
@emnapi/runtime as peerOptional). The Canvas tabs E2E job uses Node 20
/ npm 10, which DOES expect those entries and rejected the lockfile
with EUSAGE.

Regenerated the lockfile under Node 20.19.4 (matches the lowest CI
node version, lockfile is forward-compatible with 22 and 24). 6 new
@emnapi/* entries added; postcss stays at 8.5.12 (the original goal
of this branch).

Verification:
  - \`nvm use 20 && npm ci\` clean
  - 1148/1148 vitest pass under Node 20

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@HongmingWang-Rabbit
HongmingWang-Rabbit added this pull request to the merge queue Apr 27, 2026
Merged via the queue into staging with commit 93e8e53 Apr 27, 2026
14 of 15 checks passed
@HongmingWang-Rabbit
HongmingWang-Rabbit deleted the deps/postcss-8.5.10-ghsa-qx2v-qp2m-jg93 branch April 27, 2026 20:24
HongmingWang-Rabbit pushed a commit that referenced this pull request Jun 12, 2026
…check via run_id parsing' (#2173) from fix/2163-cr2-live-fire-freshness into main
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.

1 participant