CVE-2026-26954: SandboxJS
CVE-2026-26954
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.34, it is possible to obtain arrays containing Function, which allows escaping the sandbox. Given an array containing Function, and Object.fr...
Overview
A critical security vulnerability, tracked as CVE-2026-26954, has been discovered in the SandboxJS library. This library is used to create secure, isolated environments (sandboxes) for running untrusted JavaScript code. The flaw allows an attacker to escape the sandbox entirely, defeating its core security purpose.
Vulnerability Explained
In simple terms, the sandbox is designed as a secure container. This vulnerability provides a way to break out of that container. In versions prior to 0.8.34, it was possible for code running inside the sandbox to obtain a reference to the core Function constructor. By combining this with another available method (Object.fromEntries), an attacker could reconstruct a fully functional Function object outside the sandbox’s controls. This essentially grants the attacker’s code the same privileges as the main application, removing all restrictions.
Potential Impact
The impact of this vulnerability is severe (CVSS Score: 10.0). A successful exploit allows arbitrary code execution in the context of the application using SandboxJS. This could lead to:
- Complete compromise of the host application.
- Theft of sensitive data or user sessions.
- Deployment of malware or ransomware.
- Unauthorized access to backend systems and databases.
For context, sandbox escapes are often a key step in major security incidents. You can review historical examples of how such breaches unfold in our breach reports.
Remediation and Mitigation
Immediate action is required to secure affected systems.
Primary Remediation:
The fix is straightforward. Update the SandboxJS library to version 0.8.34 or later. This version patches the flaw by preventing access to the Function constructor within the sandboxed environment.
Action Steps:
- Identify Usage: Audit your applications and dependencies to confirm if you are using SandboxJS.
- Update: If using a version below 0.8.34, update the package immediately using your package manager (e.g.,
npm update sandboxjs). - Test: After updating, thoroughly test your application to ensure the new library version does not break existing functionality.
- Monitor: Implement monitoring for suspicious activity on any systems that were running the vulnerable version.
There is no effective workaround for this flaw; updating the library is the only complete solution. Staying informed on such critical vulnerabilities is crucial for IT teams. For the latest updates on this and other threats, follow our security news section.
Never miss a critical vulnerability
Get real-time security alerts delivered to your preferred platform.
Am I Affected by CVE-2026-26954?
Pick an ecosystem, paste your installed version, and we'll compare it against the fixed version published on OSV.dev. Browser-only — nothing is sent to a server.
Heuristic comparison only. Always cross-check against the vendor advisory before making patching decisions.
Related Advisories
Locutus brings stdlibs of other programming languages to JavaScript for educational purposes. Prior to 3.0.14, the create_function(args, code) function passes both parameters directly to the Function ...
OneUptime is a solution for monitoring and managing online services. Prior to 10.0.18, OneUptime allows project members to run custom Playwright/JavaScript code via Synthetic Monitors to test websites...
Enclave is a secure JavaScript sandbox designed for safe AI agent code execution. Prior to version 2.11.1, it is possible to escape the security boundraries set by `@enclave-vm/core`, which can be use...
OneUptime is a solution for monitoring and managing online services. In versions 9.5.13 and below, custom JavaScript monitor feature uses Node.js's node:vm module (explicitly documented as not a secur...
Other Java Vulnerabilities
Locutus brings stdlibs of other programming languages to JavaScript for educational purposes. Prior to 3.0.14, the create_function(args, code) function passes both parameters directly to the Function ...
In DeviceId of DeviceId.java, there is a possible desync in persistence due to a missing bounds check. This could lead to local escalation of privilege with no additional execution privileges needed. ...
OneUptime is a solution for monitoring and managing online services. Prior to 10.0.18, OneUptime allows project members to run custom Playwright/JavaScript code via Synthetic Monitors to test websites...
NLTK versions <=3.9.2 are vulnerable to arbitrary code execution due to improper input validation in the StanfordSegmenter module. The module dynamically loads external Java .jar files without verific...