products / vm2

vm2

vm2 is a Node.js library that runs untrusted JavaScript in a separate V8 context with restricted host access. Embedders use it for plugins, user scripts, and agent-style eval workflows. Sandbox escape CVEs score critical because a breakout is host process code execution. NVD tracks the package as cpe:2.3:a:vm2_project:vm2.

api usage

Querying vm2

product slugvm2
version format3.9.10, 3.11.3
bash
curl "https://api.attestd.io/v1/check?product=vm2&version=3.9.10" \
  -H "Authorization: Bearer $ATTESTD_KEY"

vm2 3.9.10 is affected by CVE-2022-36067 (CVSS 10.0) and later sandbox escape CVEs in the 3.9.x line. The response aggregates the worst case across matching CVEs, which yields risk_state: "critical".

json
{
  "product": "vm2",
  "version": "3.9.10",
  "supported": true,
  "risk_state": "critical",
  "risk_factors": [
    "remote_code_execution",
    "no_authentication_required",
    "internet_exposed_service",
    "patch_available"
  ],
  "actively_exploited": false,
  "remote_exploitable": true,
  "authentication_required": false,
  "patch_available": true,
  "fixed_version": "3.11.3",
  "confidence": 0.5,
  "cve_ids": [
    "CVE-2022-36067",
    "CVE-2023-29017",
    "CVE-2023-29199",
    "CVE-2023-30547",
    "CVE-2023-32313",
    "CVE-2023-32314",
    "CVE-2023-37466",
    "CVE-2023-37903",
    "CVE-2026-22709",
    "CVE-2026-24118",
    "CVE-2026-24120",
    "CVE-2026-24781",
    "CVE-2026-26332",
    "CVE-2026-26956",
    "CVE-2026-43997",
    "CVE-2026-43999",
    "CVE-2026-44000",
    "CVE-2026-44001",
    "CVE-2026-44002",
    "CVE-2026-44003",
    "CVE-2026-44004",
    "CVE-2026-44005",
    "CVE-2026-44006",
    "CVE-2026-44007",
    "CVE-2026-44008",
    "CVE-2026-44009",
    "CVE-2026-45411"
  ],
  "cves": null,
  "max_epss": 0.72087,
  "last_updated": "2026-08-16T11:18:08.825063Z",
  "supply_chain": {
    "compromised": false,
    "sources": [],
    "malware_type": null,
    "description": null,
    "advisory_url": null,
    "compromised_at": null,
    "removed_at": null,
    "source_published_at": null,
    "observed_at": null,
    "ingested_at": null,
    "first_served_at": null,
    "provenance": false
  },
  "supply_chain_monitored": true,
  "typosquat": null
}
safe version

vm2 3.11.3 is the final published 3.9.x release. CVE-2023-37466 still applies through that version, and the advisory recommends migrating off vm2 rather than treating any release as a durable fix.

bash
curl "https://api.attestd.io/v1/check?product=vm2&version=3.11.3" \
  -H "Authorization: Bearer $ATTESTD_KEY"
notable cves

CVE history

vm2's NVD record is a sequence of CVSS 10.0 sandbox escapes in 2022 and 2023. Each patch closed one isolation gap; later advisories found new host-object and Promise paths. After CVE-2023-37466, the project advised users to stop using vm2.

CVEDescriptionAffectsCVSS
CVE-2022-36067
Sandbox bypass gains host RCE via insufficient isolation of Node builtins.<3.9.1110.0
CVE-2023-32314
Unexpected host-object creation escapes the sandbox to host RCE.<3.9.1810.0
CVE-2023-30547
Exception sanitization failure raises unsanitized host exceptions leading to sandbox escape.≤3.9.1610.0
CVE-2023-37466
Promise inspect handling escapes the sandbox; advisory says stop using vm2.≤3.9.1910.0

KEV = CISA Known Exploited Vulnerabilities catalog. Active exploitation confirmed.

data sources

Single CPE namespace

NVD files vm2 CVEs under one CPE product identifier:

cpe:2.3:a:vm2_project:vm2All published sandbox escape CVEs

Attestd maps the vm2 slug to this namespace and matches npm-style semver against the NVD ranges.

related