CVE-2026-100721
vm2: vm2 before 3.12.2 Authorization Bypass via Custom Resolver
Einstufung nach Quelle
Trivys eigenes Label ist CRITICAL. Kritisch laut GHSA, Red Hat.
Beschreibung
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.
Betroffene Pakete und behobene Versionen
| Quelle | Paket | Behoben in |
|---|---|---|
| npm::GitHub Security Advisory npm | vm2 | 3.12.2 |
| echo npm::Echo OSV | vm2 | 3.11.0+echo.4 |
| minimos | n8n | 2.41.3-r0 |
| seal npm::Seal Security Database | @seal-security/vm2, vm2 | 3.9.11-sp999, 3.9.12-sp999, 3.9.13-sp999, 3.9.14-sp999 |
Alle 5 Einträge aus 4 Quellen zeigen
| Quelle | Paket | Behoben in |
|---|---|---|
| npm::GitHub Security Advisory npm | vm2 | 3.12.2 |
| echo npm::Echo OSV | vm2 | 3.11.0+echo.4 |
| minimos | n8n | 2.41.3-r0 |
| seal npm::Seal Security Database | @seal-security/vm2 | 3.9.11-sp999, 3.9.12-sp999, 3.9.13-sp999, 3.9.14-sp999 |
| seal npm::Seal Security Database | vm2 | 3.9.11-sp999, 3.9.12-sp999, 3.9.13-sp999, 3.9.14-sp999 |
Referenzen
- https://access.redhat.com/security/cve/CVE-2026-100721
- https://advisory.echohq.com/cve/CVE-2026-100721
- https://github.com/advisories/GHSA-5h3f-q97h-ccvc
- https://github.com/patriksimek/vm2
- https://github.com/patriksimek/vm2/commit/6ac3916da84e060c403e407b6b6318fcc66b0e72
- https://github.com/patriksimek/vm2/commit/91034466bfb7f56b95fd48083ec6ca36d058f164
- https://github.com/patriksimek/vm2/commit/ab4ee7d803e8c80155e9eb3672226bddbca4aa9c
- https://github.com/patriksimek/vm2/commit/fb4977f6211da6cadffdf1f3a2017a826a21c51f
Alle 13 Referenzen
- https://github.com/patriksimek/vm2/releases/tag/v3.12.2
- https://github.com/patriksimek/vm2/security/advisories/GHSA-5h3f-q97h-ccvc
- https://nvd.nist.gov/vuln/detail/CVE-2026-100721
- https://www.cve.org/CVERecord?id=CVE-2026-100721
- https://www.vulncheck.com/advisories/vm2-before-3.12.2-authorization-bypass-via-custom-resolver