CVE-2026-111756
follow-redirects array-form headers bypass cross-origin credential stripping
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
8.2
follow-redirects array-form headers bypass cross-origin credential stripping
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.
- Record
CVE-2026-111756- CVSS 4.0
- 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 - Weakness
- CWE-200, CWE-212
- Updated
- 2026-11-02
EUVDEUVD-2026-105225
8.2
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.
- Record
EUVD-2026-105225- CVSS 4.0
- 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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-q3jh-wrc6-jgq8
8.2
follow-redirects array-form headers bypass cross-origin credential stripping
Summary
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.
Details
The cross-origin credential-stripping control is implemented by removeMatchingHeaders(regex, headers) at index.js:630-640:
function removeMatchingHeaders(regex, headers) {
var lastValue;
for (var header in headers) { // for...in over an ARRAY yields "0","1","2"...
if (regex.test(header)) { // the header-name filter never matches a numeric index
lastValue = headers[header];
delete headers[header];
}
}
return (lastValue === null || typeof lastValue === "undefined") ?
undefined : String(lastValue).trim();
}
It is invoked from _processResponse for three purposes, all with the caller-supplied this._options.headers:
index.js:490- strip the credential filter (this._headerFilter, which covers the built-in list Authorization/Proxy-Authorization/Cookie plus anysensitiveHeaders) when the redirect crosses origin or downgrades protocol.index.js:470- strip theHostheader (/^host$/i).index.js:466- stripcontent-*headers when a 301/302/303 converts POST to GET.
The caller-supplied headers container is passed straight through to each redirected request via nativeProtocol.request(this._options) at index.js:352. _sanitizeOptions (index.js:300-331) only replaces options.headers when it is falsy, so an array is left untouched.
Node's http.request accepts options.headers as an alternating array of names and values (for example ["Authorization", "Bearer ...", "Cookie", "session=..."]). This is a supported way to control header ordering and duplication. For such an array, for (var header in headers) iterates the numeric indices "0", "1", "2", and the header-name regex never matches any of them, so removeMatchingHeaders deletes nothing. Every one of the three strip operations above silently no-ops:
- The built-in credential headers (Authorization, Cookie, Proxy-Authorization) are forwarded to the cross-origin redirect target.
- Any
sensitiveHeadersthe caller declared are forwarded too. - The stale
Hostof the previous origin is re-sent to the new origin. - On a POST-to-GET redirect the
content-*headers are retained, leavingContent-Lengthinconsistent with the now-empty body.
The primary and highest-impact consequence is disclosure of credential headers. The stale Host re-send and the Content-Length inconsistency are secondary correctness defects arising from the same root cause.
Root-cause history: the for...in-based removeMatchingHeaders used for the built-in credential strip has been present since the cross-host Authorization drop was introduced (commit 724087d, first…
- Record
GHSA-q3jh-wrc6-jgq8- CVSS 4.0
- 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 - Weakness
- CWE-200, CWE-212
- Updated
- 2026-11-02
NVD
8.2
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.
- Record
CVE-2026-111756- CVSS 4.0
- 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-200, CWE-212
- Updated
- 2026-11-02
OSV
8.2
follow-redirects array-form headers bypass cross-origin credential stripping
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.
- Record
CVE-2026-111756- CVSS 4.0
- 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 - Weakness
- CWE-200, CWE-212
- Updated
- 2026-11-06
OSVDEBIAN-CVE-2026-111756
8.2
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.
- Record
DEBIAN-CVE-2026-111756- CVSS 4.0
- 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
Show 7 moreShow less
OSVGHSA-q3jh-wrc6-jgq8
8.2
follow-redirects array-form headers bypass cross-origin credential stripping
Summary
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.
Details
The cross-origin credential-stripping control is implemented by removeMatchingHeaders(regex, headers) at index.js:630-640:
function removeMatchingHeaders(regex, headers) {
var lastValue;
for (var header in headers) { // for...in over an ARRAY yields "0","1","2"...
if (regex.test(header)) { // the header-name filter never matches a numeric index
lastValue = headers[header];
delete headers[header];
}
}
return (lastValue === null || typeof lastValue === "undefined") ?
undefined : String(lastValue).trim();
}
It is invoked from _processResponse for three purposes, all with the caller-supplied this._options.headers:
index.js:490- strip the credential filter (this._headerFilter, which covers the built-in list Authorization/Proxy-Authorization/Cookie plus anysensitiveHeaders) when the redirect crosses origin or downgrades protocol.index.js:470- strip theHostheader (/^host$/i).index.js:466- stripcontent-*headers when a 301/302/303 converts POST to GET.
The caller-supplied headers container is passed straight through to each redirected request via nativeProtocol.request(this._options) at index.js:352. _sanitizeOptions (index.js:300-331) only replaces options.headers when it is falsy, so an array is left untouched.
Node's http.request accepts options.headers as an alternating array of names and values (for example ["Authorization", "Bearer ...", "Cookie", "session=..."]). This is a supported way to control header ordering and duplication. For such an array, for (var header in headers) iterates the numeric indices "0", "1", "2", and the header-name regex never matches any of them, so removeMatchingHeaders deletes nothing. Every one of the three strip operations above silently no-ops:
- The built-in credential headers (Authorization, Cookie, Proxy-Authorization) are forwarded to the cross-origin redirect target.
- Any
sensitiveHeadersthe caller declared are forwarded too. - The stale
Hostof the previous origin is re-sent to the new origin. - On a POST-to-GET redirect the
content-*headers are retained, leavingContent-Lengthinconsistent with the now-empty body.
The primary and highest-impact consequence is disclosure of credential headers. The stale Host re-send and the Content-Length inconsistency are secondary correctness defects arising from the same root cause.
Root-cause history: the for...in-based removeMatchingHeaders used for the built-in credential strip has been present since the cross-host Authorization drop was introduced (commit 724087d, first…
- Record
GHSA-q3jh-wrc6-jgq8- CVSS 4.0
- 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 - Weakness
- CWE-200, CWE-212
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-111756
8.2
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.
- Record
UBUNTU-CVE-2026-111756- CVSS 4.0
- 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 - Updated
- 2026-11-02
OSVAZL-109829 No score
CVE-2026-111756 affecting package js-jquery 3.5.0-4
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.
- Record
AZL-109829- Updated
- 2026-11-05
OSVAZL-110088 No score
CVE-2026-111756 affecting package python-tensorboard 2.16.2-6
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.
- Record
AZL-110088- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12261-1 No score
git-bug-0.11.0-3.1 on GA media
These are all security issues fixed in the git-bug-0.11.0-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12261-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12424-1 No score
agama-web-ui-25+475.275dd4727-56.1 on GA media
These are all security issues fixed in the agama-web-ui-25+475.275dd4727-56.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12424-1- Updated
- 2026-11-06
OSVROOT-APP-NPM-CVE-2026-111756 No score
CVE-2026-111756 in follow-redirects - Patched by Root
Root has patched CVE-2026-111756 in the follow-redirects package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-111756- Updated
- 2026-11-06
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
follow-redirectsnpm |
1.16.0 up to 1.16.1 | 1.16.1 |
js-jqueryAzure Linux:3 |
through 3.5.0-4 | None known |
python-tensorboardAzure Linux:3 |
through 2.16.2-6 | None known |
node-follow-redirectsDebian:12 |
All versions, plus listed versions 1.15.11+~1.14.4-11.15.11+~1.14.4-21.15.2+~1.14.1-11.15.3+~1.14.2-11.15.6+~1.14.4-1 Show 5 moreShow less1.15.6+~1.14.4-21.15.9+~1.14.4-11.16.0+~1.14.4-11.16.0+~1.14.4-21.16.1+~1.14.4-1 |
None known |
node-follow-redirectsDebian:13 |
All versions, plus listed versions 1.15.11+~1.14.4-11.15.11+~1.14.4-21.15.9+~1.14.4-11.16.0+~1.14.4-11.16.0+~1.14.4-21.16.1+~1.14.4-1 |
None known |
node-follow-redirectsDebian:14 |
before 1.16.1+~1.14.4-1, plus listed versions 1.15.11+~1.14.4-11.15.11+~1.14.4-21.15.9+~1.14.4-11.16.0+~1.14.4-11.16.0+~1.14.4-2 |
1.16.1+~1.14.4-1 |
follow-redirectsRoot:npm |
before 1.16.0-aikido.1 | 1.16.0-aikido.11.16.0-aikido.21.16.1-aikido.1 |
@rootio/follow-redirectsRoot:npm |
before 1.16.0-root.io.1 | 1.16.0-root.io.11.16.0-root.io.21.16.1-root.io.1 |
node-follow-redirectsUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.2.4-11.2.4-1ubuntu0.18.04.1~esm11.2.4-1ubuntu0.18.04.1~esm2 |
None known |
node-follow-redirectsUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.2.4-11.2.4-1ubuntu0.20.04.1~esm11.2.4-1ubuntu0.20.04.1~esm2 |
None known |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
node-follow-redirectsUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 1.13.1-11.14.5-11.14.7+~1.13.1-11.14.8+~1.14.0-11.14.9+~1.14.1-11.14.9+~1.14.1-1ubuntu0.1~esm11.14.9+~1.14.1-1ubuntu0.1~esm2 |
None known |
node-follow-redirectsUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 1.15.2+~1.14.1-11.15.3+~1.14.2-11.15.6+~1.14.4-11.15.6+~1.14.4-1ubuntu0.1~esm1 |
None known |
node-follow-redirectsUbuntu:26.10 |
All versions, plus listed versions 1.15.11+~1.14.4-1build11.16.0+~1.14.4-2 |
None known |
node-follow-redirectsUbuntu:Pro:26.04:LTS |
All versions, plus listed versions 1.15.9+~1.14.4-11.15.11+~1.14.4-1build11.15.11+~1.14.4-1ubuntu0.1~esm1 |
None known |
git-bugopenSUSE:Tumbleweed From an advisory covering 13 CVEs |
before 0.11.0-3.1 | 0.11.0-3.1 |
agama-web-uiopenSUSE:Tumbleweed From an advisory covering 11 CVEs |
before 25+475.275dd4727-56.1 | 25+475.275dd4727-56.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases, references | OSV | |
| affected | OSV | |
| affected | ||
| facts | OSV | |
| affected | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-111756 is a high vulnerability (CVSS 8.2) in Follow-redirects, published October 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.47%, the 40th percentile. Fixed in follow-redirects 1.16.1.
References
github.com/follow-redirects/follow-redirects/security/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/advisories/GHSA-q3jh-wrc6-jgq8
nvd.nist.gov/vuln/detail/CVE-2026-111756
github.com/CVEProject/cvelistV5/tree/main/cves/2026/111xxx/CVE-2026-111756.json
Show 32 moreShow less
security-tracker.debian.org/tracker/CVE-2026-111756
github.com/follow-redirects/follow-redirects
ubuntu.com/security/CVE-2026-111756
cve.org/CVERecord?id=CVE-2026-111756
github.com/follow-redirects/follow-redirects/security/advisories/ghsa-q3jh-wrc6-jgq8
advisory.echohq.com/cve/cve-2026-111756
github.com/cveproject/cvelistv5/tree/main/cves/2026/111xxx/cve-2026-111756.json
nvd.nist.gov/vuln/detail/cve-2026-111756
security-tracker.debian.org/tracker/cve-2026-111756
bugs.debian.org/cgi-bin/bugreport.cgi?bug=1151931
suse.com/security/cve/CVE-2026-110095
suse.com/security/cve/CVE-2026-110180
suse.com/security/cve/CVE-2026-110306
suse.com/security/cve/CVE-2026-110725
suse.com/security/cve/CVE-2026-110816
suse.com/security/cve/CVE-2026-111756
suse.com/security/cve/CVE-2026-112085
suse.com/security/cve/CVE-2026-112366
suse.com/security/cve/CVE-2026-78659
suse.com/security/cve/CVE-2026-78660
suse.com/security/cve/CVE-2026-78663
suse.com/security/cve/CVE-2026-78669
suse.com/security/cve/CVE-2026-97032
suse.com/security/cve/CVE-2026-102277
suse.com/security/cve/CVE-2026-111181
suse.com/security/cve/CVE-2026-111755
suse.com/security/cve/CVE-2026-115754
suse.com/security/cve/CVE-2026-115897
suse.com/security/cve/CVE-2026-116689
suse.com/security/cve/CVE-2026-75899
suse.com/security/cve/CVE-2026-84369
suse.com/security/cve/CVE-2026-86472
Left out here: the rest of 2 source descriptions. The JSON record has them.