CWE data temporarily unavailableCWE data is currently experiencing intermittent outages, which may cause incomplete section loading on CVE pages. We are actively working on a fix.

CVE-2026-92948

Description

A flaw was found in vm2. This vulnerability allows an attacker with permission to run code inside the sandbox to escape containment and achieve arbitrary code execution on the host system. Due to improper validation of built-in module names, the sandbox fails to block access to sensitive host functions. An attacker can exploit this issue by supplying a specially crafted module identifier, allowing them to spawn an unrestricted process on the host.

Statement

An important-impact sandbox escape affects the vm2 JavaScript sandbox library as shipped in Red Hat Ansible Automation Platform 2.1 and 2.2 (automation-portal and bootc-automation-portal-rhel9 containers) and Red Hat Developer Hub 1.9 and 1.10 (rhdh-hub-rhel9 and the orchestrator and lightspeed backend plugin containers). In vm2 versions 3.9.6 through 3.11.6, built-in module names are not properly validated, so the sandbox fails to block access to sensitive host functions. On Node.js 24 and later, when an embedder explicitly allows the node:test built-in in the NodeVM configuration, sandboxed code can obtain a proxy to the host node:test module by requesting it with a doubled 'node:' prefix and then call its run() function with attacker-controlled execArgv options such as --eval; the host implementation spawns a separate unrestricted Node.js process, resulting in arbitrary code execution on the host outside the sandbox with the full permissions of the embedding user. Exploitation requires the attacker to already be able to run code inside the sandbox, requires the embedder to have explicitly allowlisted the node:test built-in, and is only reachable on Node.js 24 or newer. Because of these preconditions, Red Hat rates the impact of this flaw as important even though the CVSS 3.1 base score (9.9) maps to critical severity, matching the upstream severity rating. Fixes for the affected product streams are being pursued through the responsible Red Hat product teams under delegated resolution.

Mitigation

This flaw is only reachable when the NodeVM sandbox configuration explicitly allows the node:test built-in and the application runs on Node.js 24 or later. As a workaround, remove node:test from the allowed builtins in the vm2 sandbox configuration (for example, drop it from the require.builtin allowlist), or run the embedding application on a Node.js version where the scheme-only node:test entry is not exposed (the exploit path is not present on Node.js 22). If test functionality must be exposed to sandboxed code, provide a sandbox-local wrapper using vm2's mock or override options that does not expose run(), process isolation, execArgv, or other host process controls. Otherwise, update to a build containing the fix: upstream vm2 is fixed in version 3.11.7, and updates for the affected Red Hat Ansible Automation Platform and Red Hat Developer Hub streams are available through the respective product releases.

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score9.9N/A9.9
Attack VectorNetworkN/ANetwork
Attack ComplexityLowN/ALow
Privileges RequiredLowN/ALow
User InteractionNoneN/ANone
ScopeChangedN/AChanged
ConfidentialityHighN/AHigh
Integrity ImpactHighN/AHigh
Availability ImpactHighN/AHigh

Vector

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

cve.org: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Frequently Asked Questions

Want to get errata notifications? Sign up here.