Repository navigation
fix(cloud-agent): move the sandbox runtime to Bun 1.4.4 - #8825
Conversation
Bun 1.3.14 bundles emSign ECC Root CA - G3, so a chain issued by any of the eight eMudhra intermediates revoked in October 2026 verifies (GHSA-26q8-h657-pf84, affected < 1.4.4). Sandboxes outside egress interception validate TLS themselves, so the wrapper and every bun install or bunx inside the container trust those keys. Bun 1.4.4 drops that root and rejects chains containing one of the compromised public keys, including chains that arrive through NODE_EXTRA_CA_CERTS or SSL_CERT_FILE, which the intercept path sets. Node needs no change: 24.22.1 already ships the blocked-public-key check from nodejs/node#66871. The Debian system store is unchanged. Bump the pin in the runtime distribution, the five cloud-agent images, CI, the runtime publisher, the cloud-agent setup script and the kiloclaw build stages. Align @types/bun with the runtime, which the image-version contract test asserts, and exempt that types-only version pair from minimumReleaseAge so the pair can move together.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
All alerts resolved. Learn more about Socket for GitHub. This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
The mobile dependency-contract guard asserts the exact exclusion list in pnpm-workspace.yaml, so the Bun types pair added with the runtime bump belongs in both expected arrays.
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThe incremental change makes Assumptions: Files Reviewed (1 file)
Previous Review Summaries (2 snapshots, latest commit efd7e5f)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit efd7e5f)Status: No Issues Found | Recommendation: Merge Executive SummaryThe incremental change pins the Gastown container base image to Assumptions: Files Reviewed (2 files)
Previous review (commit 0b34917)Status: No Issues Found | Recommendation: Merge Executive SummaryThe Bun 1.4.4 pin is applied consistently across the runtime distribution contract, all six sandbox Dockerfiles, CI, the runtime publisher, the setup script, and the kiloclaw build stages, with the contract tests, lockfile peer snapshots, and Assumptions: Files Reviewed (21 files)
Reviewed by deepseek-flash-latest · Input: 36.2K · Output: 3.3K · Cached: 315.3K Review guidance: REVIEW.md from base branch |
…m tag The Gastown container runs bun at runtime, so a floating tag leaves its trust store undetermined. 1.4.4 is the first release that rejects the compromised eMudhra chains.
…al suite markRouteReady sent one session.ready frame and waited the full integration budget. A frame that arrives before the sandbox DO records the socket as current is dropped without a reply, which failed the terminal suite intermittently. Announce again after half the budget; a stuck route still fails.
Problem
Bun 1.3.14 is affected by GHSA-26q8-h657-pf84. Its bundled trust store includes
emSign ECC Root CA - G3, so a certificate chain issued by any of the eight eMudhra/emSign intermediates revoked for key compromise in October 2026 verifies. Anyone on the network path can then impersonate any TLS server to that runtime.Sandboxes that run without egress interception validate chains themselves, so this covers the control-plane wrapper and every
bun installorbunxan agent runs inside the container.Node needs no change: 24.22.1 already ships the blocked-public-key check from nodejs/node#66871. The Debian system store still trusts the Sectigo cross-signed copies, which is unchanged here.
Change
oven/bun:1.4.4-slim. That container runs Bun at runtime, so the floating1-slimtag left its trust store undetermined.NODE_EXTRA_CA_CERTSorSSL_CERT_FILE.@types/bunwith the runtime, which the image-version contract test asserts, and exempt that types-only version pair fromminimumReleaseAge.Verification
sandbox-image-versions,runtime-manifest,vercel-snapshot,runtime-release.emSign Root CA - G1, matching the advisory.Deploy order
Merge, let the runtime publisher upload the 1.4.4 artifacts, then rebuild the images. Do not roll the images ahead of the publish.