Insecure Credential Storage

Affecting web3 package, ALL versions

Report new vulnerabilities
Do your applications use this vulnerable package? Test your applications

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

CVSS Score

3.3
low severity
  • Attack Vector
    Local
  • Attack Complexity
    Low
  • Privileges Required
    Low
  • User Interaction
    None
  • Scope
    Unchanged
  • Confidentiality
    Low
  • Integrity
    None
  • Availability
    None
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Credit
sshelton76
CWE
CWE-255
Snyk ID
SNYK-JS-WEB3-174533
Disclosed
26 Apr, 2019
Published
28 Apr, 2019