{"items":[{"id":"NVI-00013135","kind":"vulnerability","title":"vm2: GHSA-m283-3h24-438v fix bypass leads to host RCE via call/apply indirection","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-647f-g98j-qq25","CVE-2026-92937"],"plain_summary":"GitHub lists this reviewed advisory for vm2. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-7ae211f5c280f85b861b170208a10fdb"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-01T15:32:11.000Z","value":"10 critical","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-70c9b5b617c0fe3da6a0016e0fd12640"},{"kind":"CVSS","as_of":"2026-09-18T20:17:30.707Z","value":"10 CRITICAL (3.1)","meaning":"disclosure@vulncheck.com severity; no combined Null risk score.","source_id":"sr-7ae211f5c280f85b861b170208a10fdb"},{"kind":"CVSS","as_of":"2026-09-18T20:17:30.707Z","value":"10 CRITICAL (4.0)","meaning":"disclosure@vulncheck.com severity; no combined Null risk score.","source_id":"sr-7ae211f5c280f85b861b170208a10fdb"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-70c9b5b617c0fe3da6a0016e0fd12640","url":"https://github.com/advisories/GHSA-647f-g98j-qq25","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-647f-g98j-qq25","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T01:40:00.567Z"},{"id":"sr-7ae211f5c280f85b861b170208a10fdb","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-92937","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-92937","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-04T09:59:50.242Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-70c9b5b617c0fe3da6a0016e0fd12640"],"technology":"vm2","known_exclusions":[],"conditions_summary":"## Summary\n\nUntrusted JavaScript run by vm2 can escape the sandbox and execute arbitrary commands in the host Node.js process when an embedder-exposed host Promise rejects. This is an incomplete fix for GHSA-m283-3h24-438v: the advisory's capability-bearing rejection rebuild runs only through this direct Promise-handler path, so call/apply indirection bypasses the protection it introduced. The bridge sanitises host rejection values before sandbox callbacks run, but the gate at `lib/bridge.js:1624` identity-checks only the direct call target. Registering the rejection handler through `Function.prototype.call` indirection, `p.then.call(p, undefined, cb)`, makes the intercepted target host `Function.prototype.call`, so the sanitiser never runs and the raw host error reaches the sandbox (`lib/bridge.js:1639`) without the rebuild that strips host references carried by its own properties (`lib/setup-sandbox.js:2104`). A rejection error whose own property references a powerful host object, for example `err.detail = process`, therefore reaches sandbox code as a fully functional proxy, and `e.detail.mainModule.require('child_process').execSync(...)` executes with host privileges. The `.appl","public_affected_ranges":["= 3.11.6"]}],"null_published_at":"2026-11-08T15:11:49.362Z","source_updated_at":"2026-10-01T15:32:11.000Z","source_disclosed_at":"2026-10-01T15:32:10.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-11-01T01:40:00.567Z"},{"id":"NVI-00013135","kind":"vulnerability","title":"vm2: GHSA-m283-3h24-438v fix bypass leads to host RCE via call/apply indirection","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-647f-g98j-qq25","CVE-2026-92937"],"plain_summary":"GitHub lists this reviewed advisory for vm2. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-70c9b5b617c0fe3da6a0016e0fd12640"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-01T15:32:11.000Z","value":"10 critical","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-70c9b5b617c0fe3da6a0016e0fd12640"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-70c9b5b617c0fe3da6a0016e0fd12640","url":"https://github.com/advisories/GHSA-647f-g98j-qq25","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-647f-g98j-qq25","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T01:40:00.567Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-70c9b5b617c0fe3da6a0016e0fd12640"],"technology":"vm2","known_exclusions":[],"conditions_summary":"## Summary\n\nUntrusted JavaScript run by vm2 can escape the sandbox and execute arbitrary commands in the host Node.js process when an embedder-exposed host Promise rejects. This is an incomplete fix for GHSA-m283-3h24-438v: the advisory's capability-bearing rejection rebuild runs only through this direct Promise-handler path, so call/apply indirection bypasses the protection it introduced. The bridge sanitises host rejection values before sandbox callbacks run, but the gate at `lib/bridge.js:1624` identity-checks only the direct call target. Registering the rejection handler through `Function.prototype.call` indirection, `p.then.call(p, undefined, cb)`, makes the intercepted target host `Function.prototype.call`, so the sanitiser never runs and the raw host error reaches the sandbox (`lib/bridge.js:1639`) without the rebuild that strips host references carried by its own properties (`lib/setup-sandbox.js:2104`). A rejection error whose own property references a powerful host object, for example `err.detail = process`, therefore reaches sandbox code as a fully functional proxy, and `e.detail.mainModule.require('child_process').execSync(...)` executes with host privileges. The `.appl","public_affected_ranges":["= 3.11.6"]}],"null_published_at":"2026-11-01T07:29:12.925Z","source_updated_at":"2026-10-01T15:32:11.000Z","source_disclosed_at":"2026-10-01T15:32:10.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-01T01:40:00.567Z"}],"next_cursor":null,"snapshot_revision":"42594"}