follow-redirects' Proxy-Authorization header kept across hostsGHSA-cxjh-pqwp-8mfp
MEDIUMFix: follow-redirects/follow-redirects@c4f847fGHSA-cxjh-pqwp-8mfp is a medium-severity (CVSS 6.5) Information Exposure vulnerability in follow-redirects. A fix is available for follow-redirects — see the affected versions and patch details below.
Exploitation Status
Proof-of-concept exploit code exists
- CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
Exploitation and automatability from CISA’s SSVC triage for GHSA-cxjh-pqwp-8mfp.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
follow-redirectsnpmDescription
When using axios, its dependency follow-redirects only clears authorization header during cross-domain redirect, but allows the proxy-authentication header which contains credentials too.
Steps To Reproduce & PoC
Test code:
const axios = require('axios');
axios.get('http://127.0.0.1:10081/', {
headers: {
'AuThorization': 'Rear Test',
'ProXy-AuthoriZation': 'Rear Test',
'coOkie': 't=1'
}
})
.then((response) => {
console.log(response);
})
When I meet the cross-domain redirect, the sensitive headers like authorization and cookie are cleared, but proxy-authentication header is kept.
Impact
This vulnerability may lead to credentials leak.
Recommendations
Remove proxy-authentication header during cross-domain redirect
Recommended Patch
- removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);
+ removeMatchingHeaders(/^(?:authorization|proxy-authorization|cookie)$/i, this._options.headers);
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | follow-redirects | all versions | 1.15.6npm install follow-redirects@1.15.6 |
Affected Products
follow-redirectsfollow-redirects_projectDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for follow-redirects, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update follow-redirects to 1.15.6 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-cxjh-pqwp-8mfp is resolved across your whole dependency graph.
Workarounds
Assume what was exposed is already known: rotate any credential, token or key that the affected component could return, restrict the endpoint to callers that genuinely need it, and strip sensitive fields from responses and error output at the boundary rather than relying on the client not to read them.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
| Product | Fixed in | Advisory |
|---|---|---|
| HawtIO 4.0.0 for Red Hat build of Apache Camel 4 | follow-redirects | RHSA-2024:3550 |
| Migration Toolkit for Runtimes 1 on RHEL 8 | follow-redirects | RHSA-2024:3920 |
| MTA-6.2-RHEL-9 | mta/mta-ui-rhel9:6.2.3-2 | RHSA-2024:3989 |
| MTA-7.0-RHEL-9 | mta/mta-cli-rhel9:7.0.3-16 | RHSA-2024:3316 |
| multicluster engine for Kubernetes 2.5 for RHEL 9 | multicluster-engine/console-mce-rhel9:v2.5.3-7 | RHBA-2024:2862 |
| NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | network-observability/network-observability-cli-rhel9:v1.6.0-66 | RHSA-2024:3868 |
| OpenShift-Pipelines-1.15-RHEL-8 | openshift-pipelines/pipelines-chains-controller-rhel8:v1.15.0-18 | RHEA-2024:3997 |
| Red Hat Advanced Cluster Management for Kubernetes 2.10 for RHEL 9 | rhacm2/console-rhel9:v2.10.2-3 | RHBA-2024:2034 |
Frequently Asked Questions
Is GHSA-cxjh-pqwp-8mfp in your dependencies?
Find it across npm, including transitive dependencies.