Skip to content

Pin esbuild to >=0.28.1 (GHSA-g7r4-m6w7-qqqr)#68

Merged
pcarrier merged 2 commits into
mainfrom
indent-2026-06-18-esbuild-cve
Jun 19, 2026
Merged

Pin esbuild to >=0.28.1 (GHSA-g7r4-m6w7-qqqr)#68
pcarrier merged 2 commits into
mainfrom
indent-2026-06-18-esbuild-cve

Conversation

@mgasner

@mgasner mgasner commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add esbuild: ">=0.28.1" to js/pnpm-workspace.yaml overrides.
  • Regenerate js/pnpm-lock.yaml; esbuild and every @esbuild/* platform package move from 0.27.7 to 0.28.1.
  • Refresh nix/packages.nix pnpmDeps.hash to the new sandbox value (sha256-trgB0v4s+NeYvQnfQErcu3T9akU23oPfXYiGcinbTug=) per the pnpm-deps Nix hash workflow.

Motivation
Dependabot advisory #6 (GHSA-g7r4-m6w7-qqqr): esbuild >=0.27.3, <0.28.1 has a Windows-only path traversal in its dev server's servedir handler. path.Clean() only normalizes forward slashes, so a backslash sequence like ..\..\..\Windows\system.ini escapes the configured root. We never run esbuild's dev server directly, but vite/vitest pull the vulnerable tarball into the lockfile, which is enough to trip Dependabot.

Testing

  • pnpm install --lockfile-only (pnpm 10.33.0) regenerated cleanly; every @esbuild/* resolution now points at 0.28.1.
  • nix build .#pnpmDeps succeeds against the new hash locally (caught the old hash mismatch on the first run, pasted the got: value back per the existing workflow).

Unrelated to this change: js/pnpm-workspace.yaml already had vite: ^7, but the lockfile resolves [email protected] via vitest — that drift is pre-existing and not touched here.

Open in Indent
Tag @indent to continue the conversation here.

esbuild <0.28.1 has a Windows-only path traversal in the dev server's
`servedir` handler — `path.Clean()` only normalizes forward slashes, so
backslash sequences let an attacker escape the configured root and
read arbitrary files. Dependabot advisory #6 flagged
js/pnpm-lock.yaml; [email protected] is pulled transitively via
vite/vitest in the workspace.

Added an esbuild override to js/pnpm-workspace.yaml, regenerated the
lockfile (esbuild 0.27.7 -> 0.28.1 across every @esbuild/* platform
package), and refreshed nix/packages.nix pnpmDeps.hash to the new
sandbox value (per the pnpm-deps-nix-hash workflow). Verified
`nix build .#pnpmDeps` succeeds against the new hash.

Generated with [Indent](https://indent.com)
Co-Authored-By: Indent <[email protected]>
@mgasner mgasner added the indent label Jun 18, 2026 — with indent
@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown

Coverage

Crate Lines Functions Regions
alacritty-driver 63.7% (626/982) 67.1% (49/73) 64.3% (919/1429)
browser 0.0% (0/807) 0.0% (0/65) 0.0% (0/1370)
cli 28.1% (1208/4299) 41.3% (171/414) 31.1% (2182/7019)
compositor 1.0% (93/9234) 2.0% (8/400) 1.2% (146/12408)
fonts 76.8% (486/633) 85.5% (47/55) 77.9% (922/1183)
gateway 25.7% (362/1411) 29.0% (36/124) 19.4% (449/2318)
proxy 18.3% (150/818) 20.9% (24/115) 20.4% (260/1277)
remote 71.5% (1975/2763) 81.4% (188/231) 74.1% (3737/5045)
sd-notify 73.9% (68/92) 100.0% (6/6) 83.2% (109/131)
server 18.7% (2186/11701) 33.6% (251/748) 20.1% (3660/18180)
ssh 1.9% (7/374) 3.2% (1/31) 0.7% (4/613)
webrtc-forwarder 2.7% (72/2624) 2.1% (4/187) 1.2% (50/4335)
webserver 63.5% (753/1185) 70.8% (121/171) 67.8% (1380/2034)
Total 21.6% (7986/36923) 34.6% (906/2620) 24.1% (13818/57342)

Pre-existing formatting drift on main: prettier --check fails on
EMBEDDING.md, js/core/src/BlitConnection.ts, node-wasm.ts, and
__tests__/BlitTerminalSurface.test.ts. Main's CI for the same commits
is also red on the lint job for the same reason, so this PR inherits
the failure. Running prettier --write is the minimal fix.

Generated with [Indent](https://indent.com)
Co-Authored-By: Indent <[email protected]>
@github-actions

Copy link
Copy Markdown

🔗 Preview: https://blit-eiawzpkdw-indent.vercel.app

@mgasner mgasner requested a review from pcarrier June 18, 2026 21:54
@pcarrier pcarrier merged commit adebf80 into main Jun 19, 2026
11 of 12 checks passed
@pcarrier pcarrier deleted the indent-2026-06-18-esbuild-cve branch June 19, 2026 01:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants