Description
urllib is an HTTP client for Node.js that supports authentication, redirects, timeouts, and other request features. Prior to 4.9.1 and 2.44.1, urllib follows redirects through followRedirect but reuses caller-supplied options across origins. In src/HttpClient.ts, #requestInternal recursively calls this.#requestInternal(nextUrl.href, options, requestContext), causing options.headers and auth or digestAuth values to be reused when the redirect target has a different scheme, host, or port. Authorization, Cookie, Proxy-Authorization, x-api-key, x-auth-token, and x-access-token can therefore be sent to an attacker-controlled redirected origin, exposing credentials intended for the original origin and potentially allowing reuse against the original partner API or related services. No user interaction is required. This issue is fixed in versions 2.44.1 and 4.9.1.
Published: 2026-08-25
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Credential leakage via unauthorized header transmission
Action: Patch Immediately
AI Analysis

Impact

urllib, a popular Node.js HTTP client, incorrectly reuses user‑supplied request headers and authentication data when following redirects to a different origin. The flaw allows an attacker to capture credentials such as Authorization, Cookie, Proxy‑Authorization, x‑api‑key, x‑auth‑token, and x‑access‑token that were intended for a trusted destination and leak them to a malicious redirect target. As a result, sensitive authentication information may be exposed and reused against the original API or related services, enabling credential replay or unauthorized access. The vulnerability is exploitable without any user interaction, and the problem exists in all releases before urllib 2.44.1 and 4.9.1.

Affected Systems

The issue affects the urllib library included as node‑modules; all versions prior to 2.44.1 and 4.9.1 are vulnerable. Users deploying these versions in Node.js applications, especially those that perform cross‑origin redirects, are at risk unless the library is updated to the patched releases.

Risk and Exploitability

The CVSS score of 7.5 indicates a high‑severity condition, and the vulnerability is listed as not present in the CISA KEV catalog. Although EPSS data are unavailable, the flaw can be triggered automatically whenever a redirect to a different scheme, host, or port occurs. Attackers can set up a server that issues redirect responses to luring clients that use urllib, causing credential leakage. Because no special privileges or user interaction are required, the exploit is likely to be widespread in production deployments that rely on older urllib versions.

Generated by OpenCVE AI on August 25, 2026 at 21:00 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade urllib to version 2.44.1 or 4.9.1.
  • Configure the client to disallow redirects to a different origin or explicitly clear sensitive headers before following a redirect.
  • Review application code for any custom redirect handling and ensure that credentials are removed or origin checks are performed before sending requests to untrusted destinations.

Generated by OpenCVE AI on August 25, 2026 at 21:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-hq3h-g68c-hp78 urllib's cross-origin redirects preserve credential-bearing request headers, leading to potential credential leakage
History

Fri, 28 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Node-modules
Node-modules urllib
Vendors & Products Node-modules
Node-modules urllib

Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Tue, 25 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 25 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Description urllib is an HTTP client for Node.js that supports authentication, redirects, timeouts, and other request features. Prior to 4.9.1 and 2.44.1, urllib follows redirects through followRedirect but reuses caller-supplied options across origins. In src/HttpClient.ts, #requestInternal recursively calls this.#requestInternal(nextUrl.href, options, requestContext), causing options.headers and auth or digestAuth values to be reused when the redirect target has a different scheme, host, or port. Authorization, Cookie, Proxy-Authorization, x-api-key, x-auth-token, and x-access-token can therefore be sent to an attacker-controlled redirected origin, exposing credentials intended for the original origin and potentially allowing reuse against the original partner API or related services. No user interaction is required. This issue is fixed in versions 2.44.1 and 4.9.1.
Title urllib: Cross-origin redirects preserve credential-bearing request headers, leading to potential credential leakage
Weaknesses CWE-200
CWE-201
CWE-522
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Node-modules Urllib
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-25T18:25:40.662Z

Reserved: 2026-06-16T23:11:20.213Z

Link: CVE-2026-55553

cve-icon Vulnrichment

Updated: 2026-08-25T18:25:19.067Z

cve-icon NVD

Status : Deferred

Published: 2026-08-25T17:17:32.113

Modified: 2026-09-09T21:07:31.353

Link: CVE-2026-55553

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-25T16:18:21Z

Links: CVE-2026-55553 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T20:36:44Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-201

    Insertion of Sensitive Information Into Sent Data

  • CWE-522

    Insufficiently Protected Credentials