Description
follow-redirects is a Node.js HTTP and HTTPS client wrapper that automatically follows redirects. From version 1.16.0 to before version 1.16.1, follow-redirects removes sensitive credential headers (Authorization, Proxy-Authorization, Cookie, and any caller-declared sensitiveHeaders) before following a redirect that crosses to a different host or downgrades to a less secure protocol. The removal routine iterates the caller's headers container with for...in and matches header names against a filter. This assumes the headers container is a plain object keyed by header names. Node's underlying http.request, which follow-redirects is a drop-in replacement for, also accepts headers as an alternating array of names and values. For an array, for...in yields the numeric indices "0", "1", "2" and so on, which never match a header-name filter, so nothing is removed. An application that sends array-form headers and follows an attacker-controlled cross-origin redirect therefore forwards its Authorization, Cookie, and Proxy-Authorization headers verbatim to the attacker-controlled destination, with no error or warning. The sensitiveHeaders option added to fix CVE-2026-40895 / GHSA-r4q5-vmmm-2653 is equally ineffective, because it relies on the same helper. This is an unauthenticated confidentiality vulnerability: any remote server the victim application contacts can harvest the victim's credential headers by responding with a cross-origin redirect. This issue has been patched in version 1.16.1.
Published: 2026-10-20
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: Credential leakage via redirects
Action: Patch
AI Analysis

Impact

follow-redirects, a Node.js HTTP client wrapper, incorrectly handles array-form headers when following cross‑origin redirects. The code assumes headers are a plain object, so when headers are supplied as an alternating array, the filtering logic never removes sensitive headers. Consequently, an attacker controlling the redirect target can retrieve Authorization, Cookie, and Proxy‑Authorization headers sent by the application. The vulnerability allows any remote server that the application contacts to capture these credentials by issuing a cross‑origin redirect, representing an unauthenticated confidentiality breach.

Affected Systems

Vulnerable versions of the library are those from 1.16.0 up to but not including 1.16.1. All applications that depend on follow‑redirects 1.16.0 or earlier and that send headers in array form are at risk. The patch introducing proper handling of array-form headers was released in version 1.16.1, so any installation later than that version is no longer vulnerable.

Risk and Exploitability

The CVSS score of 8.2 indicates a high severity. No EPSS score is currently available, and the issue is not listed in CISA's KEV catalog, suggesting limited exploitation in the wild. However, the attack requires only a malicious redirect response, a condition that an attacker can trivially satisfy once their server is reachable by the vulnerable application. Because the leaked data includes authentication credentials, the potential impact on confidentiality is significant.

Generated by OpenCVE AI on October 20, 2026 at 19:39 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the follow-redirects library to version 1.16.1 or later, which fixes the header stripping logic for array-form headers.
  • Check the headers supplied to follow-redirects and convert any array-form headers to a plain object or explicitly strip sensitive headers before initiating a request that may follow redirects.
  • If disabling redirects is feasible, configure follow-redirects to refuse automatic redirects to cross‑origin hosts, or implement manual redirect handling that verifies the target domain before following.

Generated by OpenCVE AI on October 20, 2026 at 19:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-q3jh-wrc6-jgq8 follow-redirects array-form headers bypass cross-origin credential stripping
History

Wed, 21 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

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'}

threat_severity

Important


Tue, 20 Oct 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Follow-redirects
Follow-redirects follow Redirects
Vendors & Products Follow-redirects
Follow-redirects follow Redirects

Tue, 20 Oct 2026 18:15:00 +0000

Type Values Removed Values Added
Description follow-redirects is a Node.js HTTP and HTTPS client wrapper that automatically follows redirects. From version 1.16.0 to before version 1.16.1, follow-redirects removes sensitive credential headers (Authorization, Proxy-Authorization, Cookie, and any caller-declared sensitiveHeaders) before following a redirect that crosses to a different host or downgrades to a less secure protocol. The removal routine iterates the caller's headers container with for...in and matches header names against a filter. This assumes the headers container is a plain object keyed by header names. Node's underlying http.request, which follow-redirects is a drop-in replacement for, also accepts headers as an alternating array of names and values. For an array, for...in yields the numeric indices "0", "1", "2" and so on, which never match a header-name filter, so nothing is removed. An application that sends array-form headers and follows an attacker-controlled cross-origin redirect therefore forwards its Authorization, Cookie, and Proxy-Authorization headers verbatim to the attacker-controlled destination, with no error or warning. The sensitiveHeaders option added to fix CVE-2026-40895 / GHSA-r4q5-vmmm-2653 is equally ineffective, because it relies on the same helper. This is an unauthenticated confidentiality vulnerability: any remote server the victim application contacts can harvest the victim's credential headers by responding with a cross-origin redirect. This issue has been patched in version 1.16.1.
Title follow-redirects array-form headers bypass cross-origin credential stripping
Weaknesses CWE-200
CWE-212
References
Metrics cvssV4_0

{'score': 8.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Follow-redirects Follow Redirects
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-20T17:58:21.005Z

Reserved: 2026-10-16T17:52:09.081Z

Link: CVE-2026-111756

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-20T18:17:18.070

Modified: 2026-10-20T20:06:37.150

Link: CVE-2026-111756

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-20T17:58:21Z

Links: CVE-2026-111756 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T20:00:14Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-212

    Improper Removal of Sensitive Information Before Storage or Transfer