truffle-wallet-provider@0.0.5

Vulnerabilities

3 via 5 paths

Dependencies

268

Source

npm

Find, fix and prevent vulnerabilities in your code.

Severity
  • 1
  • 1
  • 1
Status
  • 3
  • 0
  • 0

high severity

Insecure Randomness

  • Vulnerable module: crypto-js
  • Introduced through: web3@0.18.4 and web3-provider-engine@8.6.1

Detailed paths

  • Introduced through: truffle-wallet-provider@0.0.5 web3@0.18.4 crypto-js@3.3.0
    Remediation: Upgrade to web3@1.2.0.
  • Introduced through: truffle-wallet-provider@0.0.5 web3-provider-engine@8.6.1 web3@0.16.0 crypto-js@3.3.0
    Remediation: Upgrade to web3-provider-engine@12.0.4.

Overview

crypto-js is a library of crypto standards.

Affected versions of this package are vulnerable to Insecure Randomness. The secureRandom() method is supposed to return a cryptographically strong pseudo-random data string, but it is biased to certain digits. An attacker could be able to guess the created digits.

Remediation

Upgrade crypto-js to version 4.0.0, 3.2.1 or higher.

References

medium severity

Denial of Service

  • Vulnerable module: node-fetch
  • Introduced through: web3-provider-engine@8.6.1

Detailed paths

  • Introduced through: truffle-wallet-provider@0.0.5 web3-provider-engine@8.6.1 isomorphic-fetch@2.2.1 node-fetch@1.7.3
    Remediation: Upgrade to web3-provider-engine@11.0.0.

Overview

node-fetch is an A light-weight module that brings window.fetch to node.js

Affected versions of this package are vulnerable to Denial of Service. Node Fetch did not honor the size option after following a redirect, which means that when a content size was over the limit, a FetchError would never get thrown and the process would end without failure.

Remediation

Upgrade node-fetch to version 2.6.1, 3.0.0-beta.9 or higher.

References

low severity

Insecure Credential Storage

  • Vulnerable module: web3
  • Introduced through: web3@0.18.4 and web3-provider-engine@8.6.1

Detailed paths

  • Introduced through: truffle-wallet-provider@0.0.5 web3@0.18.4
  • Introduced through: truffle-wallet-provider@0.0.5 web3-provider-engine@8.6.1 web3@0.16.0

Overview

web3 is a JavaScript API which connects to the Generic JSON RPC spec.

Affected versions of this package are vulnerable to Insecure Credential Storage. The current implementation of web3.js could result in wallet decryption under certain circumstances. When a wallet is saved and encrypted into local storage, a private key is needed to load the wallet. However, this private key is available via LocalStorage and is readable in plaintext on a webpage after a wallet is loaded.

This implementation could be abused by an attacker through client-side attacks such as Cross-site Scripting (XSS) and could result in theft of a user's wallet private key.

Remediation

There is no fixed version for web3.

References