CVE-2026-55458: V2 · Caddy has an RFC 7230 §6.1 compliance issue / Hop-by-hop headers that leak through
Affects github.com/caddyserver/caddy/v2Source GCVE Database
Public exploit available · CVSS 6.3 Medium : upgrade to 2.11.5 as a priority.
Data as of 28 Oct 2026, 20:14 UTC
- Patch
- Available – fixed in 2.11.5
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:PExploitation evidence
Disclosed: evidence found.
CVE published 28 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: evidence found.
CVSS exploit maturity: proof of concept public
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), CVSS vector, the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade github.com/caddyserver/caddy/v2 to 2.11.5.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Gogithub.com/caddyserver/caddy/v2 | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A patch is available and included in Caddy version 2.11.5 that fixes this issue by ensuring hop-by-hop headers are stripped from WebSocket upgrade responses. Users should upgrade to version 2.11.5 or later to remediate this vulnerability. No other mitigation actions are required as the fix addresses the root cause.
Description
Caddy v2 prior to 2.11.5 has a vulnerability where hop-by-hop headers defined in RFC 7230 §6.1 are not stripped from upstream responses during WebSocket protocol upgrades (HTTP 101 Switching Protocols). This allows headers such as Alt-Svc, Keep-Alive, Proxy-Authenticate, and Set-Cookie to leak through to clients, potentially enabling connection hijacking, cookie injection, and proxy authentication phishing. The issue arises because the code path handling 101 responses returns early and bypasses the header stripping logic that is correctly applied to normal HTTP responses.