Skip to content
OpenAdvisories
Low · 2.9 CVE-2026-55458 EUVD-2026-117782GHSA-8qx7-j2v2-x6q5GO-2026-6874

Caddy: RFC 7230 §6.1 compliance issue / Hop-by-hop headers that leak through

Published Nov 5, 2026 · Updated Nov 9, 2026 · Assigned by GitHub_M

Description

Caddy is an extensible server platform that uses TLS by default. Prior to 2.11.5, the reverse proxy's finalizeResponse method in modules/caddyhttp/reverseproxy/reverseproxy.go handles an upstream 101 Switching Protocols response before running removeConnectionHeaders and the hopHeaders deletion loop used for ordinary responses. The early return invokes handleUpgradeResponse, which copies the upstream headers to the client and normalizes only WebSocket-specific header names. An attacker who controls or compromises a proxied WebSocket upstream can therefore cause hop-by-hop headers such as Alt-Svc, Keep-Alive, and Proxy-Authenticate, as well as headers named by Connection, to cross the proxy boundary. For HTTP/2 or HTTP/3 extended CONNECT, the upstream 101 response may be represented to the client as an ordinary successful response, increasing the chance that leaked headers are processed. This issue is fixed in version 2.11.5.

Affected products

VendorProductAffectedFixed
caddyserver caddy < 2.11.5 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 caddy No fix yet —
Debian 13 caddy No fix yet —
Debian 12 caddy No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 caddy No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS caddy No fix yet —
Ubuntu Pro 24.04 LTS caddy No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/caddyserver/caddy/v2 < 2.11.5 2.11.5 GHSA-8qx7-j2v2-x6q5

References