{"id":"CVE-2026-92962","summary":"vm2 before 3.11.4 Defense Invariant Violation via setup-sandbox.js","details":"vm2 is a sandbox for running untrusted JavaScript. In vm2 versions up to and including 3.11.3, the defaultSandboxPrepareStackTrace function in lib/setup-sandbox.js builds its output array using prototype-walking index assignment (lines[lines.length] = value) rather than a prototype-bypassing define-property primitive. Because this bridge-internal array is allocated in the sandbox realm, code inside the sandbox can install an accessor on Array.prototype for the relevant index; the accessor is then invoked whenever the sandbox reads error.stack (or otherwise triggers Error.prepareStackTrace), allowing sandbox code to observe and intercept each stack-trace line written by the bridge. The same pattern is used in the error-handling (catch) branch. The values written are formatted strings only, so the practical impact is limited to an information side channel and a violation of vm2's bridge-container defense invariant rather than a sandbox escape; the vendor rates the issue Low. The issue is fixed in vm2 3.11.4, which installs each entry as an own data property via Reflect.defineProperty.","aliases":["GHSA-q3fm-4wcw-g57x"],"modified":"2026-09-19T03:30:46.184203448Z","published":"2026-09-17T13:46:18.295Z","database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-693"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/92xxx/CVE-2026-92962.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/92xxx/CVE-2026-92962.json"},{"type":"ADVISORY","url":"https://github.com/patriksimek/vm2/security/advisories/GHSA-q3fm-4wcw-g57x"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-92962"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/vm2-before-3.11.4-defense-invariant-violation-via-setup-sandbox-js"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/patriksimek/vm2","events":[{"introduced":"0"},{"fixed":"27354d56563b0acb54eb9dd92edbc167612b9d4b"}],"database_specific":{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"0"},{"fixed":"3.11.4"}]}}],"versions":["v3.11.3","v3.11.2","v3.11.1","v3.11.0","v3.10.5","v3.10.4","v3.10.3","v3.10.2","v3.10.1","v3.10.0","3.9.19","3.9.18","3.9.17","3.9.16","3.9.15","3.9.14","3.9.13","3.9.12","3.9.11","3.9.10","3.9.9","3.9.8","3.9.7","3.9.6","3.9.5","3.9.4","3.9.3","v3.9.2","v3.9.1","v3.9.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-92962.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N"}]}