CVE-2020-5263: Auth0 js Information Disclosure Through Error Object Vulnerability

HIGH
Advisory Identifier: GHSA-prfq-f66g-43mp
CVSS 5.5
CWE-522
Published
Advisory Summary

CVE-2020-5263 is a HIGH (CVSS 5.5) information disclosure through error object vulnerability (CWE-522: Insufficiently Protected Credentials) affecting Auth0 js libraries in the npm ecosystem. The issue involves information disclosure through error object in auth0.js. Remediation is available by upgrading affected packages to version 9.13.2.

CVE-2020-5263 at a Glance

CVE Identifier CVE-2020-5263
GHSA Identifier GHSA-prfq-f66g-43mp
Severity HIGH
CVSS v3.1 Base Score 5.5
CWE Classification CWE-522: Insufficiently Protected Credentials
Affected Product Auth0 js
Package Ecosystem npm
Published Date
Last Updated

Security Impact

CVSS: 5.5

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:H/I:N/A:N).

Attack Vector Local (AV:L)
Attack Complexity Low (AC:L)
Privileges Required High (PR:H)
User Interaction Required (UI:R)
Scope Changed (S:C)
Confidentiality High (C:H)
Integrity None (I:N)
Availability None (A:N)

How to Fix CVE-2020-5263

To remediate this vulnerability, upgrade all affected Auth0 js dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

auth0-js fixed: 9.13.2
npm install auth0-js@9.13.2
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

npm ls auth0-js

How to Check if You Are Affected

To determine whether your Node.js application is affected by CVE-2020-5263, inspect your project dependencies using npm:

npm ls auth0-js

Analyze the terminal output to locate any version of Auth0 js in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 9.13.2), your application is affected.

Note: The npm ls auth0-js command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-522: Insufficiently Protected Credentials, where the product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval. In Auth0 js, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

## Overview Between versions 8.0.0 and 9.13.1(inclusive), in the case of an (authentication) error, the error object returned by the library contains the original request of the user, which may include the plaintext password the user entered. If the error object is exposed or logged without modification, the application risks password exposure. ## Am I affected? You are affected by this vulnerability if all of the following conditions apply: - You are using Auth0.js version between 8.0.0 and 9.13.1(inclusive). - You store or display error objects without filtering. ## How to fix that? Developers should upgrade auth0.js to version 9.13.2 or later where user inputted passwords are masked in errors. If upgrading is not possible, a temporary fix may include not storing the error object or displaying it publicly without modification. ## Will this update impact my users? This fix patches the Auth0.js and may require changes in application code due to password no longer available in error object, but it will not impact your users, their current state, or any existing sessions.

CVE-2020-5263 Affected Auth0 js Versions

1 component(s)
Fixed Versions:
9.13.2
Product / Package Ecosystem Affected Versions Fixed Version
auth0-js
npm
≥ 8.0.0
< 9.13.2
9.13.2

References

Frequently Asked Questions

What is CVE-2020-5263?
CVE-2020-5263 is a security vulnerability in Auth0 js involving Information disclosure through error object in auth0.js under CWE-522: Insufficiently Protected Credentials.
Which Auth0 js versions are affected?
Affected versions include releases prior to 9.13.2 across affected packages: auth0-js.
What version fixes CVE-2020-5263?
Upgrading to 9.13.2 (or the latest patched release for your respective branch) resolves the vulnerability.
Is auth0-js affected?
Yes, auth0-js is affected in releases prior to 9.13.2. Upgrade your dependency to 9.13.2 or later.
What is the CVSS score of CVE-2020-5263?
CVE-2020-5263 has a CVSS v3.1 base score of 5.5 (HIGH) with vector string CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:H/I:N/A:N.
What CWE is associated with CVE-2020-5263?
CVE-2020-5263 is classified under CWE-522: Insufficiently Protected Credentials (The product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval.).
How can I check npm dependencies for CVE-2020-5263?
Run the dependency tree command: 'npm ls auth0-js'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-prfq-f66g-43mp",
  "modified" : "2021-01-08T20:23:16Z",
  "published" : "2020-04-10T18:19:10Z",
  "aliases" : [ "CVE-2020-5263" ],
  "summary" : "Information disclosure through error object in auth0.js",
  "details" : "## Overview\nBetween versions 8.0.0 and  9.13.1(inclusive), in the case of an (authentication) error, the error object returned by the library contains the original request of the user, which may include the plaintext password the user entered. \n\nIf the error object is exposed or logged without modification, the application risks password exposure.\n\n## Am I affected?\nYou are affected by this vulnerability if all of the following conditions apply:\n\n- You are using Auth0.js version between 8.0.0 and 9.13.1(inclusive).\n- You store or display error objects without filtering. \n\n## How to fix that?\nDevelopers should upgrade auth0.js to version 9.13.2 or later where user inputted passwords are masked in errors. If upgrading is not possible, a temporary fix may include not storing the error object or displaying it publicly without modification.\n\n## Will this update impact my users?\n\nThis fix patches the Auth0.js and may require changes in application code due to password no longer available in error object, but it will not impact your users, their current state, or any existing sessions.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:H/I:N/A:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "npm",
      "name" : "auth0-js"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "8.0.0"
      }, {
        "fixed" : "9.13.2"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/auth0/auth0.js/security/advisories/GHSA-prfq-f66g-43mp"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2020-5263"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/auth0/auth0.js/commit/355ca749b229fb93142f0b3978399b248d710828"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-522" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2020-04-09T15:53:16Z",
    "nvd_published_at" : null
  }
}