Arbitrary Code Injection Affecting underscore package, versions >=1.13.0-0 <1.13.0-2 >=1.3.2 <1.12.1



    Attack Complexity High
    Privileges Required High
    Confidentiality High

    Threat Intelligence

    Exploit Maturity Proof of concept
    EPSS 1.08% (83rd percentile)
Expand this section
7.2 high
Expand this section
Red Hat
7.2 high

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-JS-UNDERSCORE-1080984
  • published 29 Mar 2021
  • disclosed 2 Mar 2021
  • credit Alessio Della Libera (@d3lla)

How to fix?

Upgrade underscore to version 1.13.0-2, 1.12.1 or higher.


underscore is a JavaScript's functional programming helper library.

Affected versions of this package are vulnerable to Arbitrary Code Injection via the template function, particularly when the variable option is taken from _.templateSettings as it is not sanitized.


const _ = require('underscore');
_.templateSettings.variable = "a = this.process.mainModule.require('child_process').execSync('touch HELLO')";
const t = _.template("")();