CVE-2026-25881
Prototype Pollution in SandboxJS Enables Remote Code Execution
Publication date: 2026-02-09
Last updated on: 2026-02-18
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| nyariv | sandboxjs | to 0.8.31 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-1321 | The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype. |
Attack-Flow Graph
AI Powered Q&A
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, you should upgrade SandboxJS to version 0.8.31 or later, where the sandbox escape vulnerability has been fixed.
Can you explain this vulnerability to me?
The vulnerability exists in SandboxJS, a JavaScript sandboxing library, in versions prior to 0.8.31. It allows sandboxed code to escape the sandbox by mutating host built-in prototypes. This happens because the isGlobal protection flag, which normally prevents such mutations, can be bypassed by laundering it through array literal intermediaries. When a global prototype reference like Map.prototype or Set.prototype is placed into an array and then retrieved, the isGlobal taint is removed, enabling direct mutation of the prototype from within the sandbox.
This leads to persistent prototype pollution on the host side and may allow remote code execution (RCE) in applications that use the polluted properties in sensitive operations, such as executing commands via execSync(obj.cmd). The issue was fixed in version 0.8.31.
How can this vulnerability impact me? :
This vulnerability can have severe impacts including allowing an attacker to escape the sandbox environment and mutate host prototypes persistently. This prototype pollution can lead to remote code execution (RCE) if the polluted properties are used in sensitive operations within the application.
Such an exploit could compromise the integrity, confidentiality, and availability of the affected system, potentially allowing attackers to execute arbitrary commands, manipulate application behavior, or gain unauthorized access.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
I don't know