Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. vm2
  4. ›
  5. CVE-2026-47210

CVE-2026-47210: vm2 sandbox escape via JSPI-backed Promise `.finally()` species bypass

May 29, 2026

A sandbox escape vulnerability in vm2 allows arbitrary code execution in the host process when untrusted code is executed with async support on runtimes exposing WebAssembly JSPI (WebAssembly.promising / WebAssembly.Suspending). In the tested configuration, a JSPI-backed Promise can reach Promise.prototype.finally() in a way that bypasses the expected Promise-species hardening and exposes a host-originated rejection object to attacker-controlled species logic, breaking the sandbox boundary.

This is a critical sandbox escape: any application that treats vm2 as a security boundary may be fully compromised.

References

  • github.com/advisories/GHSA-6j2x-vhqr-qr7q
  • github.com/patriksimek/vm2/commit/6915fa4d9bcebd47b9a4f39a1adc1aa94ef6ffc6
  • github.com/patriksimek/vm2/releases/tag/v3.11.4
  • github.com/patriksimek/vm2/security/advisories/GHSA-6j2x-vhqr-qr7q
  • nvd.nist.gov/vuln/detail/CVE-2026-47210

Code Behaviors & Features

Detect and mitigate CVE-2026-47210 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 3.11.4

Fixed versions

  • 3.11.4

Solution

Upgrade to version 3.11.4 or above.

Impact 9.8 CRITICAL

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-913: Improper Control of Dynamically-Managed Code Resources

Source file

npm/vm2/CVE-2026-47210.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 30 May 2026 12:17:16 +0000.