Skip to main content

follow-redirects CVE-2026-111755

| EUVDEUVD-2026-104536 HIGH
Incorrect Regular Expression (CWE-185)
2026-10-19 GitHub_M GHSA-8r9p-f939-6h3c
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
    Attacker controls redirect target
  2. Delivery
    App follows cross-origin/HTTPS-to-HTTP redirect
  3. Exploit
    Faulty regex fails to match sensitive header
  4. Execution
    Credential header forwarded to attacker
  5. Impact
    Credential captured (information disclosure)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Incorrect input validation
Exploitation Conditions

Requires a narrow set of concrete preconditions: (1) the application runs follow-redirects 1.16.0 (the only affected version); (2) the application explicitly declares a sensitive/strippable header whose NAME contains a regex metacharacter ^ or | (an unusual naming choice); and (3) the outgoing request follows a cross-origin or HTTPS-to-HTTP redirect, with the attacker controlling the redirect target. Limiting factors: exploitation is impossible unless the developer uses such metacharacter-bearing header names, so default configurations and conventionally-named headers are NOT affected; this is reflected by AT:P in the CVSS 4.0 vector. No victim user interaction or authentication is needed on the attacker's side.

Impact

This is a credential-leak flaw (CWE-185, incorrect regular expression) in follow-redirects, a hugely popular Node.js HTTP/HTTPS client wrapper. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N) scores 8.2 (High) and reflects a network-reachable, unauthenticated issue with high confidentiality impact but - critically - AT:P, meaning a specific attack requirement must be met. That requirement sharply narrows real-world risk: the victim application must declare a sensitive header whose NAME contains the regex metacharacters ^ or | AND then follow a cross-origin or HTTPS-to-HTTP redirect. These are uncommon header-name choices, so despite the High score and ubiquitous library, practical exposure is limited. No EPSS score was provided; the CVE is NOT on CISA KEV, and no public exploit code was supplied - the only source evidence is the vendor patch diff, not a weaponized POC. Signal summary: high nominal severity and broad deployment, but a genuine attack precondition (unusual sensitive-header naming) plus no evidence of exploitation means this is a 'patch-on-normal-cadence' issue rather than an emergency, for most deployments. Note the impact is pure information disclosure (VI/VA = N), consistent with the description of a leaked credential header.

Exploit ScenarioDerived

An application using follow-redirects 1.16.0 declares a sensitive header with a name containing ^ or | (e.g., a custom auth token header) to be stripped on redirect. The attacker causes the application's request to be redirected cross-origin (or HTTPS→HTTP) to a server they control; because escapeRegex fails to escape ^ and |, the strip filter does not match and the credential header is forwarded to the attacker's endpoint. No public exploit code was supplied - only the vendor fix commit is available.

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 19, 2026

Credential header leakage in follow-redirects 1.16.0 allows remote attackers to receive sensitive headers that should have been stripped when a request follows a cross-origin or HTTPS-to-HTTP redirect to an attacker-controlled target. The flaw only manifests when an application explicitly declares a sensitive header whose name contains the regular-expression metacharacters ^ or |, so conventionally named headers and default configurations are not affected. The vendor fixed the issue in 1.16.1; no public exploit code or confirmed active exploitation was identified at time of analysis.

RemediationAI

Vendor-released patch: 1.16.1. Upgrade follow-redirects to 1.16.1 or later, which corrects escapeRegex to escape ^ and | (commit 080a76d0e125b37bf81717368a61d5dc37aa56c8; release https://github.com/follow-redirects/follow-redirects/releases/tag/v1.16.1; advisory https://github.com/follow-redirects/follow-redirects/security/advisories/GHSA-8r9p-f939-6h3c). If an immediate upgrade is not possible, review and rename any sensitiveHeaders entries that contain ^ or | to names using only conventional token characters, though this may require corresponding server-side header changes. As a compensating control, disable automatic redirect following for requests carrying credentials (for example by setting maxRedirects to 0 or handling redirects manually) and enforce same-origin redirect checks before forwarding sensitive headers; these measures can break legitimate redirect workflows and require application changes. Avoid cross-origin or HTTPS-to-HTTP redirects for credential-bearing requests where feasible.

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 a widely used Node.js HTTP/HTTPS client wrapper that automatically follows redirects. The vulnerability is an instance of CWE-185 (incorrect regular expression) in the escapeRegex helper used to build the filter that strips sensitive headers on redirect. The pre-fix character class escaped only ] \ / ( ) * + ? . $ and omitted ^ and |, even though both are valid HTTP header-name token characters under RFC 7230. When an application declares a sensitive header name containing ^ or | and a redirect crosses origins or downgrades from HTTPS to HTTP, the generated regular expression fails to match the declared header name, so the credential-bearing header is forwarded to the redirect target. The advisory scopes affected versions to 1.16.0 only, and the upstream commit 080a76d0e125b37bf81717368a61d5dc37aa56c8 extends the escape set to include ^ and |.

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

AC:H because exploitation depends on the uncommon precondition of a sensitive-header name containing ^ or |; PR:N/UI:N as the attacker only controls the redirect target; C:H with I/A:N since impact is pure credential disclosure.

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 19, 2026 - 19:03 EUVD
CVE Published
Oct 19, 2026 - 17:27 cve.org
HIGH 8.2

DescriptionCVE.org

follow-redirects is a Node.js HTTP and HTTPS client wrapper that automatically follows redirects. From 1.16.0 until 1.16.1, escapeRegex leaves valid header-name metacharacters unescaped in sensitiveHeaders. When an application declares a sensitive header whose name contains ^ or | and follows a cross-origin or HTTPS-to-HTTP redirect, unescaped regular-expression metacharacters prevent the generated filter from matching the declared header name, and the credential header is forwarded to an attacker-controlled redirect target. This issue is fixed 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-185 (Incorrect Regular Expression), with CWE-200 as the impact class.

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

follow-redirects 1.16.0 can leak sensitive credential headers to attacker-controlled destinations during cross-origin or HTTPS-to-HTTP redirects, but only when an application explicitly declares a header name containing the regex metacharacters ^ or |. Leadership should care because exposed credentials could enable unauthorized access to downstream systems, although the affected configuration is narrow and no public exploit identified at time of analysis. The vendor description identifies 1.16.1 as the fixed release.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 63% exploitable
Prevalence
High
extremely widely-used Node.js HTTP library, transitive dependency of axios and many packages
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

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