Versions of hot-formula-parser
prior to 3.0.1 are vulnerable to Command Injection. The package fails to sanitize values passed to the parse
function and concatenates it in an eval
call. If a value of the formula is supplied by user-controlled input it may allow attackers to run arbitrary commands in the server.
Parsing the following formula creates a test
file in the present directory:
"SUM([(function(){require('child_process').execSync('touch test')})(),2])"
Upgrade to version 3.0.1 or later.
CPE | Name | Operator | Version |
---|---|---|---|
hot-formula-parser | lt | 3.0.1 |
blog.truesec.com/2020/01/17/reverse-shell-through-a-node-js-math-parser
github.com/handsontable/formula-parser
github.com/handsontable/formula-parser/commit/396b089738d4bf30eb570a4fe6a188affa95cd5e
github.com/handsontable/formula-parser/pull/58
nvd.nist.gov/vuln/detail/CVE-2020-6836
www.npmjs.com/advisories/1439