CVE-2026-100723
CVE-2026-100723 · vm2 before 3.12.2 Memory Disclosure via zlib Buffer Pool
This page contains facts from public vulnerability sources. Check the original advisory before updating.
vm2 before 3.12.2 does not apply its Buffer backing-store ownership invariant (byteOffset === 0 and buffer.byteLength === length) to Buffers returned from host builtin modules. When an application explicitly exposes Node's zlib module through NodeVM's builtin allowlist (require: { builtin: ['zlib'] }), zlib.deflateSync can return a Buffer backed by Node's shared small-buffer pool whose .buffer is the entire pool. Untrusted guest code can construct a full-width view of that ArrayBuffer (Buffer.from(result.buffer, 0, result.buffer.byteLength)) to read and modify bytes belonging to unrelated host buffers, disclosing and corrupting host-realm memory across the sandbox boundary.
CVSS 6.9 · Medium · EPSS 0.3% · Public exploit · Fix available
- Published
- Updated
Stack: node
Affected products and versions
Original sources
- https://github.com/patriksimek/vm2/security/advisories/GHSA-489w-w794-jq94
- https://github.com/patriksimek/vm2/commit/4f2508abeb252aa86eb6761c78b3b000248fb089
- https://github.com/patriksimek/vm2/commit/5214b02ef13b82497fcb917b45320dfd014ffd09
- https://www.vulncheck.com/advisories/vm2-before-3.12.2-memory-disclosure-via-zlib-buffer-pool
- https://nvd.nist.gov/vuln/detail/CVE-2026-100723