CVE-2025-48865 json
Fabio allows HTTP clients to manipulate custom headers it adds
published last yr. modified last mo. also GHSA-q7p4-7xjv-j3wf , GO-2025-3722 , EUVD-2025-16398
- cvss
- 9.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 40%
- public exploits
- 0
- none known
Summary
Fabio is an HTTP(S) and TCP router for deploying applications managed by consul. Prior to version 1.6.6, Fabio allows clients to remove X-Forwarded headers (except X-Forwarded-For) due to a vulnerability in how it processes hop-by-hop headers. Fabio adds HTTP headers like X-Forwarded-Host and X-Forwarded-Port when routing requests to backend applications. Since the receiving application should trust these headers, allowing HTTP clients to remove or modify them creates potential security vulnerabilities. Some of these custom headers can be removed and, in certain cases, manipulated. The attack relies on the behavior that headers can be defined as hop-by-hop via the HTTP Connection header. This issue has been patched in version 1.6.6.
Patch / fix
- go github.com/fabiolb/fabio 1.6.6
- fabiolb fabio 1.6.6
- govulncheck-vulndb openSUSE Tumbleweed 0.0.20250612T141001-1.1
opensuse advisories openSUSE-SU-2025:15225-1
Is CVE-2025-48865 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- last yr.
Exploit prediction
0.47% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/fabiolb/fabio/security/advisories/GHSA-q7p4-7xjv-j3wf referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| NVD | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/fabiolb/fabio | <1.6.6 |
1.6.6 |
Affected products
- fabiolb fabio
Classification
References
-
github.com
/fabiolb/fabio/commit/fdaf1e966162e9dd3b347ffdd0647b39dc71a1a3
web, patch
-
github.com
/fabiolb/fabio/security/advisories/GHSA-q7p4-7xjv-j3wf
exploit, web, vendor-advisory, advisory
-
github.com
/fabiolb/fabio/releases/tag/v1.6.6
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2025-48865
advisory
-
github.com
/fabiolb/fabio
package
Sources
- CVE List CVE-2025-48865
- GitHub Advisory GHSA-q7p4-7xjv-j3wf
- NVD CVE-2025-48865
- OSV GO-2025-3722
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.