web3-providers-ws@3.0.0-rc.1

Vulnerabilities

1 via 4 paths

Dependencies

64

Source

npm

Find, fix and prevent vulnerabilities in your code.

Severity
  • 1
Status
  • 1
  • 0
  • 0

medium severity

Arbitrary Code Injection

  • Vulnerable module: underscore
  • Introduced through: underscore@1.9.1 and web3-core-helpers@3.0.0-rc.1

Detailed paths

  • Introduced through: web3-providers-ws@3.0.0-rc.1 underscore@1.9.1
    Remediation: Upgrade to underscore@1.12.1.
  • Introduced through: web3-providers-ws@3.0.0-rc.1 web3-core-helpers@3.0.0-rc.1 underscore@1.9.1
  • Introduced through: web3-providers-ws@3.0.0-rc.1 web3-core-helpers@3.0.0-rc.1 web3-utils@3.0.0-rc.1 underscore@1.9.1
  • Introduced through: web3-providers-ws@3.0.0-rc.1 web3-core-helpers@3.0.0-rc.1 web3-eth-iban@3.0.0-rc.1 web3-utils@3.0.0-rc.1 underscore@1.9.1

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

Remediation

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

References