{ "schema_version": "1.4.0", "id": "GHSA-ww6v-677g-p656", "modified": "2023-09-11T22:19:18Z", "published": "2018-07-18T18:28:10Z", "aliases": [ "CVE-2017-16088" ], "summary": "Sandbox Breakout in safe-eval", "details": "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. \n\n## Proof of Concept:\nThis code accesses the process object and calls `.exit()`\n```js\nvar safeEval = require('safe-eval');\nsafeEval(\"this.constructor.constructor('return process')().exit()\");\n```\n\n\n## Recommendation\n\nUpdate to version 0.4.0 or later", "severity": [ { "type": "CVSS_V3", "score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H" } ], "affected": [ { "package": { "ecosystem": "npm", "name": "safe-eval" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "0" }, { "last_affected": "0.3.0" } ] } ] } ], "references": [ { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2017-16088" }, { "type": "WEB", "url": "https://github.com/hacksparrow/safe-eval/issues/5" }, { "type": "WEB", "url": "https://github.com/patriksimek/vm2/issues/59" }, { "type": "WEB", "url": "https://github.com/hacksparrow/safe-eval/pull/13" }, { "type": "ADVISORY", "url": "https://github.com/advisories/GHSA-ww6v-677g-p656" }, { "type": "WEB", "url": "https://www.npmjs.com/advisories/337" } ], "database_specific": { "cwe_ids": [ "CWE-610" ], "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2020-06-16T22:01:17Z", "nvd_published_at": null } }