Skip to content

chore(deps): fix pnpm audit findings (undici, postcss, nanoid) - #194

Draft
mcalthrop wants to merge 1 commit into
mainfrom
chore/audit-fix-undici-postcss-nanoid
Draft

chore(deps): fix pnpm audit findings (undici, postcss, nanoid)#194
mcalthrop wants to merge 1 commit into
mainfrom
chore/audit-fix-undici-postcss-nanoid

Conversation

@mcalthrop

Copy link
Copy Markdown
Owner

Clears all seven pnpm audit findings (scope: all severities — 2 high, 5 moderate). Every finding was transitive-only, so each is fixed with a comparator-scoped override in pnpm-workspace.yaml. No direct dependency needed bumping, and nothing was suppressed via ignoreGhsas.

Transitive overrides

Module Installed Override Reached via
undici 8.8.0 undici@<8.9.0^8.9.0 @actions/core, @actions/github
postcss 8.5.20 postcss@<8.5.23^8.5.23 vite
nanoid 3.3.16 nanoid@<3.3.17^3.3.17 vitepostcss

All three stay within the installed major, so there is no API-break risk for the parents.

Note on undici

The pre-existing override was "undici@>=6.0.0 <6.27.0": "8.8.0" — an exact pin that had itself become vulnerable. It is replaced by "undici@<8.9.0": "^8.9.0", which still covers the original 6.x range and the newly-vulnerable 8.0–8.8 line, and uses a caret range so future patch releases in the 8.x line flow through without another manual override bump.

Advisories fixed

  • undiciGHSA-4cwx-7wf7-3272 (high) — cross-user information disclosure and parse-time crash via degenerate private cache directives
  • undiciGHSA-8xcm-r25x-g524 (moderate) — downstream response desynchronisation via retry interceptor
  • undiciGHSA-m8rv-5g2x-5cg5 (moderate) — CRLF injection via blob-like body type property
  • undiciGHSA-jr45-8vmc-qm54 (moderate) — cross-user information disclosure via whitespace around equals in Cache-Control directives
  • undiciGHSA-v3r7-h72x-cjcm (moderate) — cookie attribute injection via unsanitised domain and unparsed setCookie fields
  • nanoidGHSA-2v37-7h3g-55p8 (high) — custom generators can loop indefinitely when size is zero
  • postcssGHSA-fxqj-rqcc-2cmp (moderate) — attacker-controlled sourceMappingURL reads arbitrary .map files when from is unset

Verification

  • pnpm install --frozen-lockfile — clean, no specifier drift
  • pnpm test — 26 tests across 10 files pass, 100% coverage
  • pnpm audit --audit-level=lowno known vulnerabilities found

🤖 Generated with Claude Code

All seven findings were transitive-only, so each is resolved with a
comparator-scoped override in pnpm-workspace.yaml:

- undici: the existing `undici@>=6.0.0 <6.27.0` override pinned 8.8.0,
  which is itself vulnerable. Replaced with `undici@<8.9.0: ^8.9.0`,
  which covers both the original 6.x range and the vulnerable 8.0-8.8
  line. Reached via @actions/core and @actions/github.
- postcss: `postcss@<8.5.23: ^8.5.23`, reached via vite.
- nanoid: `nanoid@<3.3.17: ^3.3.17`, reached via postcss.

All bumps stay within the installed major, so no breaking changes.
`pnpm audit --audit-level=low` is clean and the test suite passes.

Refs GHSA-4cwx-7wf7-3272,
GHSA-8xcm-r25x-g524,
GHSA-m8rv-5g2x-5cg5,
GHSA-jr45-8vmc-qm54,
GHSA-v3r7-h72x-cjcm,
GHSA-fxqj-rqcc-2cmp,
GHSA-2v37-7h3g-55p8

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant