Vulnerabilities / CVE-2026-100721

critical

CVE-2026-100721

vm2: vm2 before 3.12.2 Authorization Bypass via Custom Resolver

Published Modified CWE 863
In the Trivy database since at least 24 Oct 2026, 07:11 UTCWhen it arrived before that build is not recorded.

Severity by source

GHSA9.5CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Red Hat9.0CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

Trivy's own label is CRITICAL. Rated critical by GHSA, Red Hat.

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.

Affected packages and fixed versions

SourcePackageFixed in
npm::GitHub Security Advisory npmvm23.12.2
echo npm::Echo OSVvm23.11.0+echo.4
minimosn8n2.41.3-r0
seal npm::Seal Security Database@seal-security/vm2, vm23.9.11-sp999, 3.9.12-sp999, 3.9.13-sp999, 3.9.14-sp999
Show all 5 entries from 4 sources
SourcePackageFixed in
npm::GitHub Security Advisory npmvm23.12.2
echo npm::Echo OSVvm23.11.0+echo.4
minimosn8n2.41.3-r0
seal npm::Seal Security Database@seal-security/vm23.9.11-sp999, 3.9.12-sp999, 3.9.13-sp999, 3.9.14-sp999
seal npm::Seal Security Databasevm23.9.11-sp999, 3.9.12-sp999, 3.9.13-sp999, 3.9.14-sp999

References

All 13 references

Vulnerability data compiled from the Trivy vulnerability database (trivy-db, Aqua Security, Apache License 2.0), which aggregates third-party advisories. CVE records are published by The MITRE Corporation under the CVE Terms of Use; CVE is a trademark of MITRE. This product uses data from the NVD API but is not endorsed or certified by the NVD. Severity, titles and advisory data from the GitHub Advisory Database (CC BY 4.0), Red Hat security data (CC BY 4.0) and the other sources linked on each entry. Entries may be summarised or re-formatted; the linked original is the authoritative record.