CVE-2017-16088
CRITICAL10.0EPSS 2.1%Sandbox Breakout in safe-eval
Published: 7/18/2018Modified: 11/8/2023
Description
Affected versions of `safe-eval` are vulnerable to a sandbox escape. By accessing object constructors, un-sanitized user input can access the entire standard library and effectively break out of the sandbox. ## Proof of Concept: This code accesses the process object and calls `.exit()` ```js var safeEval = require('safe-eval'); safeEval("this.constructor.constructor('return process')().exit()"); ``` ## Recommendation Update to version 0.4.0 or later
Affected packages (1)
- npm/safe-evalfrom 0, <= 0.3.0
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | CRITICAL10.0 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
References (6)
- ADVISORYhttps://github.com/advisories/GHSA-ww6v-677g-p656
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2017-16088
- WEBhttps://github.com/hacksparrow/safe-eval/issues/5
- WEBhttps://github.com/hacksparrow/safe-eval/pull/13
- WEBhttps://github.com/patriksimek/vm2/issues/59
- WEBhttps://www.npmjs.com/advisories/337