Skip to content
Heist/ feed
Back to feed
Medium

vm2 3.9.6 before 3.11.7 Sandbox Bypass via Accessor Descriptor

Type: advisorySources: OSV

vm2 versions from 3.9.6 before 3.11.7 fail to properly restrict access to accessor properties on frozen objects, allowing sandboxed scripts to bypass vm.freeze() and vm.readonly() protections. Attackers can use Object.getOwnPropertyDescriptor() or __lookupSetter__() to extract and invoke host object setters directly, mutating properties the embedder explicitly marked read-only.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-92949
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 13:05 UTC · Revision 1

Source evidence

vm2 3.9.6 before 3.11.7 Sandbox Bypass via Accessor Descriptor

core-osv · Original source

Published 17 Sept 2026, 13:46 UTC

vm2 versions from 3.9.6 before 3.11.7 fail to properly restrict access to accessor properties on frozen objects, allowing sandboxed scripts to bypass vm.freeze() and vm.readonly() protections. Attackers can use Object.getOwnPropertyDescriptor() or __lookupSetter__() to extract and invoke host object setters directly, mutating properties the embedder explicitly marked read-only.

osv:CVE-2026-92949
Complete source record
{
  "id": "6877170dc81f039d160b062c4ce3efd069cf397be5c213f3f6237e07bc0377eb",
  "url": "https://osv.dev/vulnerability/CVE-2026-92949",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "vm2 3.9.6 before 3.11.7 Sandbox Bypass via Accessor Descriptor",
    "summary": "vm2 versions from 3.9.6 before 3.11.7 fail to properly restrict access to accessor properties on frozen objects, allowing sandboxed scripts to bypass vm.freeze() and vm.readonly() protections. Attackers can use Object.getOwnPropertyDescriptor() or __lookupSetter__() to extract and invoke host object setters directly, mutating properties the embedder explicitly marked read-only.",
    "evidence": "osv:CVE-2026-92949",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-92949",
      "aliases": [
        "CVE-2026-92949",
        "GHSA-633r-hq9m-c4ff"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/patriksimek/vm2",
              "type": "GIT",
              "events": [
                {
                  "introduced": "532120d5cdec7da8225fc6242e154ebabc63fe4d"
                },
                {
                  "fixed": "0c5b63a228c0af88d4a0d364ab0b90df278d710e"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "3.9.6"
                      },
                      {
                        "fixed": "3.11.7"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.9.6"
                      },
                      {
                        "fixed": "3.11.7"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.11.6",
            "v3.11.5",
            "v3.11.4",
            "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"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-92949.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.906800537Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/92xxx/CVE-2026-92949.json",
        "https://github.com/patriksimek/vm2/security/advisories/GHSA-633r-hq9m-c4ff",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-92949",
        "https://www.vulncheck.com/advisories/vm2-3.9.6-before-3.11.7-sandbox-bypass-via-accessor-descriptor"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-471"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/92xxx/CVE-2026-92949.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-92949",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 519383,
  "published_at": "2026-09-17T13:46:09.471+00:00"
}