p PatchFirst

CVE-2026-100721

CVE-2026-100721 · vm2 before 3.12.2 Authorization Bypass via Custom Resolver

Diese Seite enthält Fakten aus öffentlichen Sicherheitsquellen. Lesen Sie vor dem Aktualisieren die Originalmeldung.

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.

CVSS 9.5 · Kritisch · EPSS 0,4% · Öffentlicher Exploit · Korrektur verfügbar

Veröffentlicht
Aktualisiert

Technologie-Stack: node

Betroffene Produkte und Versionen

  • vm2

    Softwareversionen
    • ≥ 0, < 3.12.2: Betroffen (semver)
    • 3.12.2: Nicht betroffen (semver)

    Auf 3.12.2 aktualisieren

  • vm2 npm

    Betroffene Versionsbereiche
    • SEMVER: < 3.12.2

    Auf 3.12.2 aktualisieren

Originalquellen

Prüfen Sie Ihren Server →