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
var safeEval = require('safe-eval'); safeEval("this.constructor.constructor('return process')().exit()");
Update to version 0.4.0 or later
publishedAdvisory publishedAug 30th, 2017
reportedInitial report by Alessandro NadalinApr 19th, 2017