---
title: "CVE-2026-92938: vm2 allows a sandboxed plugin to execute native code through `node:sqlite`"
url: https://erroneo.us/security/cve/CVE-2026-92938/
description: "CVE-2026-92938 (vm2 (npm)): vm2 versions 3.11.3 through 3.11.6 expose Node.js's host node:sqlite module to code running in NodeVM when that builtin is…"
type: vulnerability-record
section: "Security Digest"
date_published: 2026-09-17
date_modified: 2026-10-07
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2026-92938"
kev: false
cvss: 9.4
epss: 0.00616
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2026-92938: vm2 allows a sandboxed plugin to execute native code through `node:sqlite`

**Signal:** Critical, preconditions apply. Severe if exploited, but exploitation needs conditions that may not apply to you. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- Not in CISA KEV , but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
- EPSS 0.6% , percentile 49: FIRST’s model estimates a 0.6% chance of exploitation activity in the next 30 days, higher than 49% of all scored CVEs (low). EPSS is a probability, not a verdict.
- Needs an account (low (any account)). Exposure depends on who can log in.
- Only applies if your dependency tree includes vm2 (npm) >= 3.11.3, <= 3.11.6, fixed in 3.11.7 . Check your lockfile, including transitive dependencies.
- Editorial verdict: Check exposure. vm2: 22 Critical Sandbox Escapes, Fixed in 3.12.2 — If anything outside your trust boundary can get code into vm2, upgrade to 3.12.2 today and plan to move that code out of process; if vm2 only runs your own code, upgrade on a normal cycle.

## What it is

vm2 versions 3.11.3 through 3.11.6 expose Node.js's host node:sqlite module to code running in NodeVM when that builtin is permitted, either explicitly or through builtin: ['']. The module is wrapped with vm.readonly(), which prevents property assignment but leaves host-authority callables reachable; in addition, the resolver treats any request starting with 'node:' as a core-module request and the runtime strips only one 'node:' prefix, so a sandbox request for 'node:node:sqlite' resolves to the configured node:sqlite entry. Sandboxed code can therefore create an in-memory DatabaseSync with extension loading enabled and call DatabaseSync.loadExtension() on a native library bundled in the untrusted plugin package (path derived from dirname). SQLite loads the library into the Node.js host process and invokes its native entry point, giving the sandboxed plugin arbitrary native code execution outside the sandbox with the host process's privileges. The issue is fixed in vm2 3.11.7.

## Affected packages

- npm `vm2` >= 3.11.3, <= 3.11.6 → fixed: 3.11.7

## Affected products (CVE record)

- patriksimek vm2: 3.11.3 < 3.11.7

## Severity

- VulnCheck CVSS 4.0: 9.4 `CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H`
- VulnCheck CVSS 3.1: 9.9 `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H`
- GitHub CVSS 3.1: 9.9 `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation poc , automatable no , technical impact total .
- FIRST EPSS (model of 2026-10-21): 0.62% probability of exploitation activity in the next 30 days; percentile 49.

## Sources

- [GitHub Security Advisory (GHSA-6w8r-xxw2-g3hx)](https://github.com/patriksimek/vm2/security/advisories/GHSA-6w8r-xxw2-g3hx)
- [GitHub Advisory GHSA-6w8r-xxw2-g3hx](https://github.com/advisories/GHSA-6w8r-xxw2-g3hx)
- [CVE.org record CVE-2026-92938](https://www.cve.org/CVERecord?id=CVE-2026-92938)
- [NVD entry CVE-2026-92938](https://nvd.nist.gov/vuln/detail/CVE-2026-92938)
- [VulnCheck Advisory: vm2 3.11.3 through 3.11.6 Remote Code Execution via node:sqlite](https://www.vulncheck.com/advisories/vm2-3.11.3-through-3.11.6-remote-code-execution-via-node-sqlite)
- [github.com](https://github.com/patriksimek/vm2/commit/aa146a77f859325e079f3bfbfe6d8309af483daa)
- [github.com](https://github.com/patriksimek/vm2/releases/tag/v3.11.7)

---
Source page: https://erroneo.us/security/cve/CVE-2026-92938/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
