Repository navigation
Commit 5ff8bb5
authored
fix: update Node runtimes for CVE-2026-111497 (#544)
Void's shipped default Sandbox still uses Node 26.10.0, and the GitHub
build-agent image uses the floating `node:26-slim` tag. Upgrade the
maintained runtime pins to the fixed versions listed in the [October
2026 Node security
release](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases)
for CVE-2026-111497.
- Set `.node-version` to **24.22.1**, which is already consumed by the
CI setup and release workflows.
- Upgrade the default Sandbox to **node:26.12.1-trixie-slim** and pin
the build agent to **node:26.12.1-slim**. Docker Hub manifest inspection
confirmed both fixed tags exist, support amd64/arm64, and resolve to the
same Debian Trixie image index; the distro is preserved.
- Sync the Sandbox Dockerfile example and build-agent README, including
the example's existing SDK helper version with the installed 1.0.2
helper.
Package compatibility ranges, dependency versions and the lockfile are
unchanged. Platform CI already uses `docker build --pull`; there are no
additional static cached Node image references to update.
## Validation
- `vp install --frozen-lockfile`: passed, including the core package
build.
- Focused Sandbox configuration, packaging, RPC/runtime and
build-container tests: **5 files / 315 tests passed** under Node
24.22.1.
- `vp run test --list`: selected all 731 files because `.node-version`
changed; that selection was covered by the full verification below.
- `vp run test:all`: formatting, lint, all package/playground builds,
artifact checks, platform type-aware lint and `vp run check` passed.
- Both updated Dockerfiles built successfully using `--pull --platform
linux/amd64`. Inspection containers reported **Node v26.12.1** and
**Debian 13 (trixie)**. The Sandbox helper was executable and a harmless
Brotli round trip passed. The build agent retained Corepack 0.35.0, Bun
1.3.14, builder uid 1000 and its packaged agent entry; pnpm 11.8.0 and
Yarn 1.22.22 ran offline as the unprivileged builder.
- `git diff --check`: passed.
**The full test suite did not pass:** 728 files passed, 2 failed and 1
skipped; **14,262 tests passed, 2 failed and 31 skipped**. The overall
`vp run test:all` exit code was 1.
1. `platform/packages/api/test/integration/admin-dashboard.test.ts:491`:
the ResizeObserver sizes array remained empty until `expect.poll` timed
out. The entire file passed on a focused rerun.
2. `packages/void/test/integration/astro.test.ts`: the initial SSR fetch
lost its loopback connection. On the focused rerun, the dev cases passed
but the PostgreSQL suite failed in `beforeAll` at line 297: Astro
restarted after dependency optimization/tsconfig reload, and
Miniflare/Cloudflare Vite plugin type discovery lost a loopback socket
(`Server stopped while waiting`, `other side closed`). The same
PostgreSQL startup failure was reproduced with the original **Node
24.21.0**, confirmed with both `node --version` and `vp exec node
--version`. The fixed 24.22.1 pin was restored afterward. No application
or test-source changes were made to hide these failures.
This PR prepares the source fix. Existing published packages and running
containers still require their normal release/rebuild/rollout before
their runtime exposure is remediated.1 parent dc0c3c1 commit 5ff8bb5
5 files changed
Lines changed: 8 additions & 8 deletions
File tree
- docs/guide
- packages/void
- platform/packages/api
- container
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
124 | | - | |
| 123 | + | |
| 124 | + | |
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
0 commit comments