p PatchFirst

PatchFirst · Vulnérabilités récentes

vm2 3.11.7 : vulnérabilités connues

Vulnérabilités connues concernant vm2 3.11.7 : 10. Comparez les versions corrigées ci-dessous avec celle que vous utilisez.

Filtrer les vulnérabilités
Effacer les filtres

Vulnérabilités : 10

  1. CVE-2026-100723

    Moyenne · CVSS 6.9EPSS 0,39%Code d’exploitation publicCorrectif disponible

    vm2 before 3.12.2 Memory Disclosure via zlib Buffer Pool

    vm2 before 3.12.2 does not apply its Buffer backing-store ownership invariant (byteOffset === 0 and buffer.byteLength === length) to Buffers returned from host builtin modules. When an application explicitly exposes Node's zlib module through NodeVM's builtin allowlist (require: { builtin: ['zlib'] }), zlib.deflateSync can return a Buffer backed by Node's shared small-buffer pool whose .buffer is the entire pool. Untrusted guest code can construct a full-width view of that ArrayBuffer (Buffer.from(result.buffer, 0, result.buffer.byteLength)) to read and modify bytes belonging to unrelated host buffers, disclosing and corrupting host-realm mem

    • Mettez à jour vers 3.12.2
    Publication Mise à jour
  2. CVE-2026-100722

    Élevée · CVSS 8.9EPSS 0,32%Code d’exploitation publicCorrectif disponible

    vm2 before 3.12.2 Host Process Termination via Construct Trap

    vm2 before 3.12.2 does not apply host-side Promise rejection handling in the sandbox-to-host construct trap. In BaseHandler, the apply trap calls markHostPromiseHandled() on the returned value, but the adjacent construct path returns the result of Reflect.construct without the same sanitization. If an embedder exposes a constructable host function whose constructor returns a native rejected Promise, an untrusted script executed via VM.run can invoke it with `new` and ignore the result; the rejected host Promise crosses the bridge unhandled and, under Node's strict unhandled-rejection policy, is promoted to an uncaught exception that terminate

    • Mettez à jour vers 3.12.2
    Publication Mise à jour
  3. CVE-2026-100721

    Critique · CVSS 9.5EPSS 0,59%Code d’exploitation publicCorrectif disponible

    vm2 before 3.12.2 Authorization Bypass via Custom Resolver

    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 sib

    • Mettez à jour vers 3.12.2
    Publication Mise à jour
  4. CVE-2026-93605

    Critique · CVSS 10.0EPSS 0,73%Code d’exploitation publicCorrectif disponible

    vm2 NodeVM before 3.12.1 Remote Code Execution via child_process

    vm2 NodeVM versions before 3.12.1 contain a sandbox escape vulnerability where the DANGEROUS_BUILTINS denylist omits child_process despite blocking other host-spawning modules. Attackers can require child_process and execute arbitrary commands on the host system when NodeVM is configured with builtin:['*'] or explicit child_process allowance.

    • Mettez à jour vers 3.12.1
    Publication Mise à jour
  5. CVE-2026-92959

    Élevée · CVSS 7.1EPSS 0,45%Code d’exploitation publicCorrectif disponible

    vm2 before 3.11.8 allowAsync Bypass via Promise Thenable

    vm2 before 3.11.8 does not fully enforce the allowAsync: false option in VM and NodeVM. While localPromise.prototype.then is replaced with a handler that throws 'Async not available', the sandbox's Promise static methods (Promise.resolve, Promise.all, Promise.race, Promise.any, and Promise.allSettled) still assimilate attacker-supplied thenables: native promise resolution performs PromiseResolveThenableJob and invokes the sandboxed code's then method in a microtask without passing through the patched then, so the async restriction is never applied. As a result, sandboxed script can schedule work that runs after VM.run() or NodeVM.run() has re

    • Mettez à jour vers 3.11.8
    Publication Mise à jour
  6. CVE-2026-92955

    Critique · CVSS 10.0EPSS 0,71%Code d’exploitation publicCorrectif disponible

    vm2 before 3.11.8 Sandbox Escape via NodeVM

    vm2 before 3.11.8 contains a sandbox escape vulnerability in NodeVM that allows attackers to access the host __proto__ getter/setter through console._stdout and console._stderr. Attackers can overwrite EventEmitter.prototype.emit and trigger process events to execute code with process context, bypassing code generation restrictions.

    • Mettez à jour vers 3.11.8
    Publication Mise à jour
  7. CVE-2026-92954

    Critique · CVSS 9.2EPSS 0,49%Code d’exploitation publicCorrectif disponible

    vm2 3.10.0 through 3.11.7 Denial of Service via Host Promise

    vm2 is a sandbox library for running untrusted JavaScript in Node.js. In versions >= 3.10.0 and <= 3.11.7, Promises returned from the host realm into the sandbox are not marked as handled at the bridge boundary; only Promises created inside the sandbox are wrapped with a rejection-swallowing handler (lib/setup-sandbox.js), and the bridge only installs host-side rejection sanitizers when sandbox code calls .then/.catch/.finally. As a result, code running in the sandbox can invoke a host function that returns a rejected Promise (for example events.once() exposed via the NodeVM events builtin, or any embedder-provided Promise-returning API) and

    • Mettez à jour vers 3.11.8
    Publication Mise à jour
  8. CVE-2026-92953

    Critique · CVSS 9.3EPSS 0,5%Code d’exploitation publicCorrectif disponible

    vm2 3.11.0 through 3.11.7 Prototype Pollution via TypedArray

    vm2 versions from 3.11.0 before 3.11.8 fail to protect host TypedArray and ArrayBuffer prototypes from sandbox mutation. Attackers can use prototype-walking primitives to reach and modify host Uint8Array.prototype, %TypedArray%.prototype, and ArrayBuffer.prototype, causing host-created typed arrays to observe attacker-controlled properties after VM.run() returns.

    • Mettez à jour vers 3.11.8
    Publication Mise à jour
  9. CVE-2026-92934

    Critique · CVSS 9.5EPSS 0,76%Correctif disponible

    vm2 before 3.11.8 Sandbox Escape RCE via AggregateError

    vm2 before 3.11.8 contains an incomplete fix for Error.cause sanitization that allows sandbox escape when revisited host-wrapped AggregateError objects are caught within a single exception handler traversal. Attackers can exploit cycle detection bypass in handleException to access unsanitized host proxies embedded in the errors array, enabling full remote code execution and process information disclosure from the sandbox.

    • Mettez à jour vers 3.11.8
    Publication Mise à jour
  10. CVE-2026-92933

    Moyenne · CVSS 6.9EPSS 0,37%Code d’exploitation publicCorrectif disponible

    vm2 before 3.11.8 Information Disclosure via util.getCallSites

    vm2 is a sandbox for running untrusted Node.js code. In versions <= 3.11.7, NodeVM exposes the host `util` module to the sandbox as an unfiltered shallow copy (`Object.assign({}, util)` in `defaultBuiltinLoaderUtil`), and the deprecated `sys` builtin (an alias of host `util`) is exposed through the generic builtin loader. On Node.js >= 22.9 this hands sandboxed code `util.getCallSites()`, a programmatic stack-introspection API that returns the host process's full call stack, including absolute file paths, function names, and line numbers for vm2 bridge internals and the embedding application's entrypoint. This bypasses the host-frame redactio

    • Mettez à jour vers 3.11.8
    Publication Mise à jour

Vérifiez votre serveur

Comparez votre pile et les versions installées aux bases de vulnérabilités actuelles.

Vérifiez votre serveur →