Description
vm2 versions from 3.9.6 before 3.11.7 fail to properly restrict access to accessor properties on frozen objects, allowing sandboxed scripts to bypass vm.freeze() and vm.readonly() protections. Attackers can use Object.getOwnPropertyDescriptor() or __lookupSetter__() to extract and invoke host object setters directly, mutating properties the embedder explicitly marked read-only.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| patriksimek | vm2 | 3.9.6 – < 3.11.7 | 3.11.7 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | vm2 | >= 3.9.6, < 3.11.7 | 3.11.7 | GHSA-633r-hq9m-c4ff |
Advisories 1
- WID-SEC-2026-2997 vm2: Mehrere Schwachstellen BSI CERT-Bund (WID) · Oct 27, 2026
References
- GitHub Security Advisory (GHSA-633r-hq9m-c4ff) vendor-advisory
- VulnCheck Advisory: vm2 3.9.6 before 3.11.7 Sandbox Bypass via Accessor Descriptor third-party-advisory