CVE-2020-15125: Auth0 node-auth0 authorization header information disclosure in error logging

CVE-2020-15125 · Severity: low · CVSS 3.1 · Published 2020-07-29

Auth0's Node.js SDK for managing authentication services uses a blocklist to sanitize sensitive data from error logs. However, the Authorization header (which contains bearer tokens) was not included in this blocklist. When an application using this SDK encounters an error calling Auth0's management API, the bearer token can be exposed in application logs or monitoring systems, potentially allowing attackers to impersonate the application and access customer authentication data.

Vendors: Auth0, npm.

Quick answers

Is CVE-2020-15125 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2020-15125 being exploited in the wild.
How severe is CVE-2020-15125?
Low severity, with a CVSS score of 3.1, published 29 July 2020.
Which products and versions are affected?
Auth0 Node-Auth0 <=2.27.0; auth0 (npm) SEMVER:introduced=0,fixed=2.27.1.
Is there a fix for CVE-2020-15125?
Yes. auth0 (npm): upgrade to 2.27.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2020-15125 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2020-15125?
Check whether you run Auth0 Node-Auth0 or auth0 (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • auth0 (npm): upgrade to 2.27.1 or later
    npm install auth0@2.27.1

Technical details

This is an information disclosure vulnerability (CWE-209) in the Auth0 Node.js SDK's error handling. The vulnerable component is the Auth0RestClient which catches failed API requests and logs the request object in error structures. The implementation uses a hardcoded blocklist of keys to sanitize (e.g., password, secret) but omitted "authorization". When a Management API request fails, the entire request object including the Authorization header and its bearer token value is retained in the error object, which can be logged or exposed in error monitoring systems. The attack requires an application to be using the SDK with Machine-to-Machine (client credentials) flow to access the management API. Exploitation occurs passively when API errors are logged; an attacker with access to logs or error tracking systems can extract the bearer token. The vulnerability was patched in version 2.27.1 by adding "authorization" and other headers to the sanitization blocklist.

Affected products

  • Auth0 node-auth0 <=2.27.0

Identifiers

  • CVE-2020-15125
  • GHSA-5jpf-pj32-xx53

Timeline

  • 2020-07-29: disclosed
  • 2020-07-21: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.