CVE-2026-111756: follow-redirects array-form headers bypass cross-origin credential stripping
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.
References
- github.com/advisories/GHSA-q3jh-wrc6-jgq8
- github.com/follow-redirects/follow-redirects/commit/9865ca45490e4d0f7b6944870318408344570aff
- github.com/follow-redirects/follow-redirects/releases/tag/v1.16.1
- github.com/follow-redirects/follow-redirects/security/advisories/GHSA-q3jh-wrc6-jgq8
- nvd.nist.gov/vuln/detail/CVE-2026-111756
Code Behaviors & Features
Detect and mitigate CVE-2026-111756 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →