SECURELYN

CVE-2026-100721

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 pref…

Scores

9.5
CVSS 9.5 out of 10, critical severity.
0.4%
EPSS 0.4% chance of exploitation in the next 30 days.

The facts

Published
27 September 2026
Last changed
28 September 2026
NVD status
Deferred
Severity
Critical, CVSS 9.5 out of 10 (version 4.0)
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R…
Weakness
Known exploited
Not in the CISA Known Exploited Vulnerabilities catalogue in this build.
EPSS
0.4% chance of exploitation activity in the next 30 days (percentile 33).

Is there a Securelyn advisory?

Not yet. Securelyn writes plain-English advisories for the flaws that matter most to businesses. Subscribe to the digest to hear about them.

References