p PatchFirst

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

  • vm2

    Versions
    • ≥ 0, < 3.12.2: Affected (semver)
    • 3.12.2: Not affected (semver)

    Update to 3.12.2

  • vm2 npm

    Affected ranges
    • SEMVER: < 3.12.2

    Update to 3.12.2

Original sources

Check your server →