Skip to content

fix(deps): override undici >=7.28.0 to close GHSA-vmh5-mc38-953g#2044

Merged
os-zhuang merged 1 commit into
mainfrom
fix/undici-override-ghsa-vmh5
Jun 19, 2026
Merged

fix(deps): override undici >=7.28.0 to close GHSA-vmh5-mc38-953g#2044
os-zhuang merged 1 commit into
mainfrom
fix/undici-override-ghsa-vmh5

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

What

Close HIGH-severity advisory GHSA-vmh5-mc38-953g (undici TLS certificate validation bypass via dropped requestTls in the SOCKS5 ProxyAgent) that is failing the Validate Package Dependencies CI gate (pnpm audit --audit-level=high).

The vulnerable undici@7.27.2 is pulled in transitively through the VS Code extension's publish tooling only:

packages/vscode-objectstack > @vscode/vsce > cheerio > undici

This is repo-wide and pre-existing (it red-flags the dependency-validation gate for everyone, not just one PR).

How

Add a single transitive pin to pnpm-workspace.yaml overrides — the repo's canonical location (pnpm v10 silently ignores pnpm.overrides in package.json, as documented in that file alongside the existing esbuild / form-data / tar / minimatch pins):

'undici@>=7.23.0 <7.28.0': '^7.28.0'
  • Advisory range is >=7.23.0 <7.28.0, patched >=7.28.0.
  • cheerio@1.2.0 declares undici: ^7.19.0, so the override targets only the vulnerable range and forces ^7.28.0, which resolves to 7.28.0 — the patched line within the 7.x major cheerio supports. A bare >=7.28.0 would resolve to undici 8.5.0, an out-of-range major bump for cheerio; this stays minimal and in-range.

package.json is intentionally untouched. Change is just the override + lockfile.

Verification

  • pnpm audit --audit-level=high0 high (exit 0), gate passes. (Before: 1 high = undici.)
  • All pre-existing security pins preserved in the lockfile (esbuild, minimatch, tar, form-data).
  • turbo run build --filter=objectstack-vscode → succeeds.
  • Lockfile diff: only undici 7.27.2 → 7.28.0 + the override line.

🤖 Generated with Claude Code

…953g

CI's "Validate Package Dependencies" gate (pnpm audit --audit-level=high)
fails on GHSA-vmh5-mc38-953g — undici TLS certificate validation bypass via
dropped requestTls in the SOCKS5 ProxyAgent (vulnerable >=7.23.0 <7.28.0).

undici 7.27.2 is pulled transitively through the VS Code extension's publish
tooling: packages/vscode-objectstack > @vscode/vsce > cheerio > undici.

Pin via pnpm-workspace.yaml `overrides` (the repo's canonical location — pnpm
v10 ignores package.json `pnpm.overrides`). cheerio@1.2.0 declares undici
^7.19.0, so the override targets only the vulnerable range and forces ^7.28.0
(resolves to 7.28.0) — staying inside the 7.x major cheerio supports rather
than jumping to undici 8.x.

After the change `pnpm audit --audit-level=high` reports 0 high (exit 0) and
`turbo run build --filter=objectstack-vscode` still succeeds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 19, 2026 9:01am

Request Review

@github-actions github-actions Bot added size/xs dependencies Pull requests that update a dependency file and removed size/xs labels Jun 19, 2026
@os-zhuang
os-zhuang merged commit d1129c4 into main Jun 19, 2026
16 checks passed
@os-zhuang
os-zhuang deleted the fix/undici-override-ghsa-vmh5 branch June 19, 2026 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant