Vulnerability · CVE-2026-52845
Caddy is an extensible server platform that uses TLS by default.
Published Jun 8, 2026 · catalog updated Oct 24, 2026 · Caddy is an extensible
Last checked Nov 1, 2026. A connected source was read within the last 7 days.
Check if you run it
No confirmed exploitation is on record for CVE-2026-52845. EPSS is 0.45%. Act only if a listed version of Caddy is an extensible is installed.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (Caddy is an extensible).
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- Severity
- High8.1
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- 0.45%
- Remediation
- Version ranges on file
- Affected products
- Debian:12 caddy · Debian:13 caddy · Debian:14 caddy · go github.com/caddyserver/caddy/v2/modules/caddyhttp
### Summary deletes the exact client-supplied identity header before copying the trusted value from the auth gateway. But when the request later goes through , Caddy normalizes HTTP headers into CGI variables by replacing with . This lets a client send an underscore alias that survives the delete step but becomes the same PHP/FastCGI variable: Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. ### Details intentionally removes client-controlled headers before setting values from the auth response: - - That delete is exact-field deletion through : - - So deleting does not delete . Later, FastCGI exports all request headers into CGI variables: - - - The normalizer replaces hyphens with underscores: So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. ### PoC Run from the Caddy repository root with : Observed on commit : Baseline: With attacker header: Caddy debug log confirms the FastCGI environment contained: The auth gateway returned only. It never returned . ### Impact This affects Caddy deployments that use: - with for identity or authorization headers; - / FastCGI after the auth check; - a PHP/FastCGI application that trusts the resulting variables. Impact examples: - deterministic group/role injection when the auth gateway omits an optional header, e.g. becomes ; - probabilistic user impersonation when both the auth gateway and client provide colliding identity headers, e.g. and both map to . Realistic examples include trusted-header SSO deployments such as Firefly III using , or MediaWiki using . ## AI disclosure The LLM was used to help analyze the Caddy codebase, compare releva
Are you affected?
Enter the version you run. The result uses only the ranges stored on this record.
The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.
- Debian:12 caddy0 → 2.6.2-5+deb12u1
- Debian:13 caddy0 → 2.6.2-12+deb13u1
- Debian:14 caddy0 → 2.11.4-1
- go github.com/caddyserver/caddy/v2/modules/caddyhttp< v2.11.4
How to fix CVE-2026-52845
Upgrade
CVE-2026-52845 lists a fix boundary at 2.6.2-5+deb12u1. Compare the installed build with that boundary before you change production.
Version check
Fixed in 2.6.2-5+deb12u1 · 3 other ranges on the advisory
Advisory
Open the cve_org record and follow its fix.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
No confirmed exploitation is on record for CVE-2026-52845. EPSS is 0.45%. Act only if a listed version of Caddy is an extensible is installed.
Which versions are affected?
Compare what you have installed with 0 → 2.6.2-5+deb12u1, 0 → 2.6.2-12+deb13u1, 0 → 2.11.4-1, < v2.11.4. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-287: Improper Authentication; CWE-290: Authentication Bypass by Spoofing; CWE-444: HTTP Request Smuggling. EPSS 0.45%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Technology hubs
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Jun 23, 2026 · Trivy Vulnerability DB
Detected
Caddy is an extensible server platform that uses TLS by default. Prior to 2.11.4, forward_auth copy_headers deletes the exact client-supplied identity header before copying the trusted value from the auth gateway. But when the request later goes through php_fastcgi, Caddy normalizes HTTP headers into CGI variables by replacing - with _. This lets a client send an underscore alias that survives the
Oct 24, 2026 · Trivy Vulnerability DB
Fix available
caddy fixed in 2.6.2-5+deb12u1; caddy fixed in 2.6.2-12+deb13u1; caddy fixed in 2.11.4-1
Oct 24, 2026 · Trivy Vulnerability DB
Fix available
caddy fixed in 2.6.2-5+deb12u1
Oct 24, 2026 · Trivy Vulnerability DB
Fix available
caddy fixed in 2.6.2-12+deb13u1
Oct 24, 2026 · Trivy Vulnerability DB
Fix available
caddy fixed in 2.11.4-1
Oct 24, 2026 · Trivy Vulnerability DB
Updated
Caddy is an extensible server platform that uses TLS by default. Prior to 2.11.4, forward_auth copy_headers deletes the exact client-supplied identity header before copying the trusted value from the auth gateway. But when the request later goes through php_fastcgi, Caddy normalizes HTTP headers into CGI variables by replacing - with _. This lets a client send an underscore alias that survives the
Sources
- CVE.orgVulnerability recordCVE-2026-52845
Official CVE identifier
cve.org - Maintainer security tabsVendor advisoryGHSA-f59h-q822-g45g
### Summary deletes the exact client-supplied identity header before copying the trusted value from the auth gateway. But when the request later goes through , Caddy normalizes HTTP headers into CGI variables by replacing with . This lets a client send an underscore alias that survives the delete step but becomes the same PHP/FastCGI variable: Result: a remote client can inject or sometimes overri
github.com - Trivy Vulnerability DBPackage advisoryDEBIAN-CVE-2026-52845
Caddy is an extensible server platform that uses TLS by default. Prior to 2.11.4, forward_auth copy_headers deletes the exact client-supplied identity header before copying the trusted value from the auth gateway. But when the request later goes through php_fastcgi, Caddy normali
osv.dev
References
Freshness
Last verified in this catalog Oct 31, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.
- Maintainer security tabsNov 1, 2026
- CVE.orgOct 24, 2026
- Trivy Vulnerability DBOct 24, 2026