Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

GHSA-c9wr-qm7p-p6vc

Duplicate Advisory: vm2: NodeVM custom resolution bypasses external path boundaries
Back to all
CVE

GHSA-c9wr-qm7p-p6vc

Duplicate Advisory: vm2: NodeVM custom resolution bypasses external path boundaries

Duplicate Advisory

This advisory has been withdrawn because it is a duplicate of GHSA-5h3f-q97h-ccvc. This link is maintained to preserve external references.

Original Description

vm2 before 3.12.2 contains an authorization bypass in the NodeVM external-module resolver. When an embedder configures require.external with a custom resolver (and context: 'host'), LegacyResolver.customResolve in lib/resolver-compat.js records the resolved module directory in this.externals as new RegExp('^' + escapeRegExp(resolvedPath)), without requiring a path separator or end-of-string boundary. Untrusted guest code can therefore require the allowlisted module (e.g. foo) and then require the absolute path of a non-allowlisted sibling whose path merely shares the resolved prefix (e.g. .../node_modules/foo2/index.js); the sibling passes isPathAllowedForModule and is loaded through hostRequire, so its top-level code runs in the host process before the exports are wrapped with vm.readonly, resulting in a sandbox escape and arbitrary code execution in the host context.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
-
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
C
H
U
-

Related Resources

No items found.

References

https://github.com/patriksimek/vm2/security/advisories/GHSA-5h3f-q97h-ccvc, https://nvd.nist.gov/vuln/detail/CVE-2026-100721, https://github.com/patriksimek/vm2/commit/6ac3916da84e060c403e407b6b6318fcc66b0e72, https://github.com/patriksimek/vm2/commit/91034466bfb7f56b95fd48083ec6ca36d058f164, https://github.com/patriksimek/vm2/commit/ab4ee7d803e8c80155e9eb3672226bddbca4aa9c, https://www.vulncheck.com/advisories/vm2-before-3.12.2-authorization-bypass-via-custom-resolver

Severity

9

CVSS Score
0
10

Basic Information

Base CVSS
9
EPSS Probability
0%
EPSS Percentile
0%
Introduced Version
0
Fix Available
3.12.2

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading