Five advisories closed. Patch release — no API changes for valid configurations.
What's Changed
Security fixes
- GHSA-cfcw-xp6x-25gj — Stacked-indirection bypass of the GHSA-v6mx-mf47-r5wg apply-trap peel. Two layers of
Function.prototype.{call,apply,bind}pushed the host prototype mutator out of the inspected position; a later variant ran the__proto__setter entirely host-side, defeating both identity checks (RCE). - GHSA-gmc2-2x9w-cgh9 —
bufferAllocLimitbypass viaBuffer.concat(list, totalLength)andBuffer.from(arrayLike), which reach the host allocator without traversing the sandbox-side wrapper — one call allocates past a configured cap (host memory-exhaustion DoS). - GHSA-m283-3h24-438v — Host errors leaked live host references into sandbox
catchblocks viaError.cause, theSuppressedError/AggregateErrorslots, arbitrary own properties (err.detail = process), and the carrier's prototype chain. Any embedder function throwing an error that carried a host reference was an escape (RCE). - GHSA-m5w8-4gq2-6f8x — NodeVM
builtin: ['*']exposedosanddns, the last two process-wide builtins. Both leak host identity and network topology, and both write host state:dns.setServers()hijacks the host's DNS resolver,os.setPriority()renices the host process. - GHSA-v836-6xw4-9cx3 —
bufferAllocLimitbypass viaArrayBuffer,SharedArrayBuffer, every TypedArray constructor, andWebAssembly.Memory, which hit the same timeout-immune V8 allocator uncapped — a ~200-byte payload becomes gigabytes of host RSS (host memory-exhaustion DoS).
Upgrade Notes
builtin: ['*']users depending onosordns— both are now denied, along withnode:os,node:dnsanddns/promises. Re-introduce a safe subset viarequire.mock/require.override.- Finite
bufferAllocLimitusers — the cap now also coversBuffer.concat/from/copyBytesFromand theArrayBuffer/SharedArrayBuffer/ TypedArray /WebAssembly.Memoryconstructors. The defaultInfinityis unaffected. - Host errors now reach sandbox
catchblocks as sandbox-realm errors. Primitive diagnostics are preserved andinstanceofnow works for subclasses; non-primitive properties and the host prototype chain are gone by design.
Full Changelog: v3.11.5...3.11.6