CVE-2026-100723
published 2026-09-27CVE-2026-100723: 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…
PriorityP345high7.5CVSS 3.1
AVNACHPRNUINSCCHILAN
EPSS
0.32%
22.4th percentile
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.
Affected
2 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| patriksimek | vm2 | < 3.12.2 | 3.12.2 |
| vm2_project | vm2 | >= 0 < 3.12.2 | 3.12.2 |
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N
nvdv4.06.9MEDIUMCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vendor_redhat7.5HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
VulDB
patriksimek vm2 up to 3.12.1 Buffer zlib.deflateSync buffer overflow (EUVD-2026-87856)
vuldb·2026-10-06·CVSS 7.5
CVE-2026-100723 [HIGH] patriksimek vm2 up to 3.12.1 Buffer zlib.deflateSync buffer overflow (EUVD-2026-87856)
A vulnerability has been found in patriksimek vm2 up to 3.12.1 and classified as critical. Affected by this issue is the function zlib.deflateSync of the component Buffer. Performing a manipulation results in buffer overflow.
This vulnerability was named CVE-2026-100723. The attack may be initiated remotely. There is no available exploit.
The affected component should be upgraded.
GHSA
vm2: NodeVM zlib Buffers expose pooled host memory across the VM boundary
ghsa·2026-10-05
CVE-2026-100723 [MEDIUM] CWE-200 vm2: NodeVM zlib Buffers expose pooled host memory across the VM boundary
vm2: NodeVM zlib Buffers expose pooled host memory across the VM boundary
## Summary
When an application explicitly exposes Node's `zlib` module through vm2's `NodeVM` builtin allowlist, an untrusted guest can obtain a pool-backed host `Buffer` from `zlib.deflateSync`, create a full-width view of its backing `ArrayBuffer`, read bytes outside the compressed result, and flip a byte in an unrelated host buffer. The pinned vm2 revision reproduces disclosure and host-memory modification, while a sandbox-local `Buffer` control remains exact-size and non-mutating.
## Technical Details
`NodeVM` accepts `require: { builtin: ['zlib'] }`. The builtin resolver reaches `addDefaultBuiltin` in `lib/builtin.js`, where the host module is exposed through the generic readonly wrapper. `zlib.deflateSync`
GHSA
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.
ghsa_unreviewed·2026-09-27
CVE-2026-100723 [MEDIUM] CWE-200 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.
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.
Red Hat
vm2: vm2: Information disclosure via zlib shared buffer pool
vendor_redhat·2026-09-27·CVSS 7.5
CVE-2026-100723 [HIGH] CWE-653 vm2: vm2: Information disclosure via zlib shared buffer pool
vm2: vm2: Information disclosure via zlib shared buffer pool
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.
A flaw was found in vm2. When an application permits t
No detection rules found.
No public exploits indexed.
https://github.com/patriksimek/vm2/commit/4f2508abeb252aa86eb6761c78b3b000248fb089https://github.com/patriksimek/vm2/commit/5214b02ef13b82497fcb917b45320dfd014ffd09https://github.com/patriksimek/vm2/security/advisories/GHSA-489w-w794-jq94https://www.vulncheck.com/advisories/vm2-before-3.12.2-memory-disclosure-via-zlib-buffer-poolhttps://github.com/patriksimek/vm2/security/advisories/GHSA-489w-w794-jq94
2026-09-27
Published