Skip to main content

follow-redirects EUVDEUVD-2026-105225

| CVE-2026-111756 HIGH
Information Exposure (CWE-200)
2026-10-20 GitHub_M GHSA-q3jh-wrc6-jgq8
8.2
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Victim app contacts attacker-influenced server
  2. Delivery
    Server replies with cross-origin redirect
  3. Exploit
    for...in skips array header indices
  4. Execution
    Credential headers forwarded verbatim
  5. Impact
    Attacker harvests Authorization and Cookie

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires that the victim application pass request headers to follow-redirects as Node's alternating name/value array (e.g. ['Authorization', 'token', ...]) rather than as a plain object - this is the precise trigger, because for...in over an array yields numeric indices that never match the credential filter. It additionally requires that those headers include credentials (Authorization, Proxy-Authorization, Cookie, or declared sensitiveHeaders) and that the application follows a redirect to a different host or a downgraded protocol controlled or influenced by the attacker. Limiting factors: the vulnerable range is only 1.16.0 to before 1.16.1, object-form headers (the common case) are not affected, and the attacker must be able to serve or influence the redirect response the victim follows; the previously-recommended sensitiveHeaders mitigation does NOT limit exploitation because it uses the same broken helper.

Impact

Signals are moderately consistent and point to a real but conditional confidentiality risk rather than a mass-exploitation emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:H) yields 8.2 (High): network-reachable, unauthenticated, no user interaction, high confidentiality impact - but critically AT:P (Attack Requirements present) encodes that exploitation only works when the victim application passes headers in Node's array form, a non-default usage pattern. No EPSS score, KEV listing, or public POC was supplied, so there is no evidence of active or at-scale exploitation; exploitation status is 'no public exploit identified at time of analysis.' The absence of KEV combined with the AT:P requirement suggests this is a latent supply-chain weakness, not a widely-weaponized one. The strongest mitigating factor not captured by the headline CVSS number is the narrow affected range (>=1.16.0, <1.16.1) and the array-form-header precondition - most callers use object-form headers and are unaffected. Note one nuance to verify: the flaw also defeats the sensitiveHeaders mitigation shipped for CVE-2026-40895, so environments relying on that earlier fix may believe they are protected when they are not.

Exploit ScenarioDerived

A victim Node.js service uses follow-redirects (1.16.0) with array-form request headers that include an Authorization or Cookie, and makes an outbound request to a server an attacker controls or can influence. That server replies with a 30x redirect to a different host; because the credential-stripping routine iterates an array with for...in and only sees numeric indices, no headers are removed and the victim's credentials are sent verbatim to the attacker's host. No public exploit code was provided, but the GHSA advisory and patch commit fully document the mechanism.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 20, 2026

follow-redirects 1.16.0 through 1.16.x before 1.16.1 can disclose Authorization, Proxy-Authorization, Cookie, and caller-declared sensitiveHeaders when an application supplies headers in Node's alternating name/value array form and follows an attacker-influenced redirect to a different host or a downgraded protocol. This is an unauthenticated confidentiality issue (CWE-200) with high credential impact, but exploitation is conditional because object-form headers are unaffected and the attacker must serve or influence the redirect; the supplied CVSS 4.0 score is 8.2, while the independent CVSS 3.1 vector AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N captures the high attack complexity. No public exploit was identified at time of analysis, and no CISA KEV confirmation was present in the supplied data; the vendor patch is 1.16.1.

RemediationAI

Vendor-released patch: upgrade follow-redirects to 1.16.1 or later (https://github.com/follow-redirects/follow-redirects/releases/tag/v1.16.1), which normalizes array-form headers to an object before redirect processing as shown in commit 9865ca45490e4d0f7b6944870318408344570aff; see advisory GHSA-q3jh-wrc6-jgq8. If immediate upgrade is not possible, pass headers as a plain object keyed by header name instead of the array form (side effect: duplicate-name header semantics may change), and do not rely on sensitiveHeaders to protect array-form headers because it uses the same broken helper. Applications can also configure redirect handling to reject cross-origin or protocol-downgrade redirects, or use beforeRedirect to manually remove Authorization, Proxy-Authorization, and Cookie when the destination host/protocol changes (trade-off: this can break legitimate redirect flows and must be implemented consistently for every redirect path); restricting outbound requests to allowlisted destinations reduces exposure but requires maintaining the allowlist.

Affected VersionsENISA

follow-redirects 1.16.0, < 1.16.1

Affected Packages

npm follow-redirects fix: 1.16.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

follow-redirects is an npm HTTP/HTTPS client wrapper and drop-in replacement for Node's http.request/https.request. Node accepts request headers either as an object keyed by header name or as an alternating array of names and values. The cross-origin credential-stripping helper removeMatchingHeaders(regex, headers) uses for...in and matches keys against a header-name filter; when headers is an array, for...in yields numeric indices such as "0", "1", and "2", which never match the filter, so nothing is removed. The same helper is used for Host stripping and content-* stripping on POST-to-GET redirects, and the sensitiveHeaders option added for CVE-2026-40895 / GHSA-r4q5-vmmm-2653 relies on it, making that mitigation ineffective for array-form headers. The supplied CPE cpe:2.3:a:follow-redirects:follow-redirects:*:*:*:*:*:*:*:* is a broad wildcard, so the advisory's npm range >=1.16.0 <1.16.1 is the precise scoping data; the fix in commit 9865ca45490e4d0f7b6944870318408344570aff normalizes array headers to an object in _sanitizeOptions and adds tests for same-host, subdomain, cross-host, and cross-port redirects.

Know when Node.js gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.2 HIGH
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
vuln.today AI 5.9 MEDIUM

Network-reachable and unauthenticated (AV:N/PR:N), but AC:H because exploitation depends on the victim using non-default array-form headers; confidentiality-only leak so C:H/I:N/A:N.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 20, 2026 - 19:03 EUVD
CVE Published
Oct 20, 2026 - 17:58 cve.org
HIGH 8.2

DescriptionCVE.org

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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 313 npm packages depend on follow-redirects (15 direct, 298 indirect)

Ecosystem-wide dependent count for version 1.16.0.

Technical POC Analysis

CWE-200 (with CWE-212 as the removal-failure view): the cross-origin credential-stripping control silently no-ops for array-form headers.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

The follow-redirects Node.js library in versions 1.16.0 through 1.16.x before 1.16.1 can expose Authorization, Proxy-Authorization, Cookie, and caller-declared sensitive headers when applications use array-form headers and follow attacker-influenced redirects to another host or a downgraded protocol. This is an unauthenticated confidentiality risk for services that rely on the library, but exploitation is conditional on array-form header use and attacker influence over the redirect; no public exploit identified at time of analysis. Leadership should prioritize dependency remediation because leaked credentials could enable downstream account or service compromise.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
High
extremely widely-deployed Node.js HTTP library, frequently transitive via axios
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy