CVE-2026-92947: vm2 before 3.11.7 Memory Disclosure via Buffer Pool

Published Sep 17, 2026
·
Updated

Summary Sandboxed code is able to disclose host memory used by small allocations by Buffer.from, Buffer.concat.

Details vm2 exposes Buffer object to sandboxed code by default. Small Buffer allocations (for example, Buffer.allocUnsafe(), Buffer.from(array), Buffer.from(string), and Buffer.concat()) use the same Buffer pool, which is shared with the sandbox. This allows sandboxed code to disclose host memory used by the functions listed above.

PoC Tested against vm2@3.11.5 in the node REPL. javascript Buffer.from('host-memory-should-not-leak-to-sandbox') new (require('vm2').VM)().run(Buffer.from(Buffer.from([0]).buffer, 0, Buffer.from([0]).buffer.byteLength).toString('ascii'))

<img width="1044" height="104" alt="Screenshot 2026-07-23 at 17 54 15" src="https://github.com/user-attachments/assets/987b860c-6702-4818-bfaa-c77919c777e5" />

Impact Since sandbox acquires an ArrayBuffer that is used by the host, it can disclose sensitive data going through functions mentioned above and even write to these buffers, which can lead to sensitive data exposure and potentially denial-of-service.

Other sources

vm2 before 3.11.7 exposes Node's shared Buffer pool to sandboxed code, allowing disclosure of host memory used by Buffer.from, Buffer.concat, and related allocations. Sandboxed code can read and write to host-realm buffers by acquiring ArrayBuffers from small allocations, leading to sensitive data exposure and potential denial-of-service.

— MITRE

Affected Software

2 affected componentsFixes available
npm/vm2<3.11.7
npm/vm2<=3.11.6
3.11.7

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/vm2 to a version that resolves this vulnerability.

    Fixed in 3.11.7

Event History

Sep 17, 2026
CVE Published
via MITRE·01:46 PM
Data Sourced
via MITRE·01:46 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·02:18 PM
DescriptionSeverityWeakness
Oct 5, 2026
Advisory Published
via GitHub·10:34 PM
Data Sourced
via GitHub·10:34 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which vm2 versions need remediation?

vm2 versions before 3.11.7 are affected. Upgrade to version 3.11.7 or later.

2

What level of attacker access is needed?

The CVSS vector indicates network reachability, low attack complexity, no privileges required, and no user interaction. The relevant exposure is an application that executes attacker-controlled code in a vm2 sandbox.

3

What can an attacker gain from successful exploitation?

Sandboxed code can acquire ArrayBuffers from small allocations and use them to read and write host-realm buffers. This can disclose sensitive host memory and may cause denial of service.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203