What’s Vulnerable › Vulnerabilities
CVE-2026-45135: Caddy: Unsafe Unicode Handling in FastCGI splitPos Allows Execution of Non-PHP Files
- Severity: high (CVSS 8.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.7% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-06-23 · updated 2026-10-25
- Weakness: CWE-20
Description
Caddy is an extensible server platform that uses TLS by default. From 2.7.0 until 2.11.3, the FastCGI transport's splitPos() in modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go misuses golang.org/x/text/search with search.IgnoreCase when the request path contains a non-ASCII byte. Two distinct flaws in that fallback let an attacker mislead Caddy's FastCGI splitting into treating a non-.php (or other configured split_path extension) file as a script. In any deployment where the attacker can place content into a file served via FastCGI (uploads, file storage, etc.), this can be escalated to remote code execution by crafting a URL whose path triggers either flaw. This vulnerability is fixed in 2.11.3.
Affected products
- caddyserver caddy: from 2.7.0 before 2.11.3 — fixed in 2.11.3
How to fix
Upgrade to a fixed version: caddyserver caddy 2.11.3. Check the vendor advisory for mitigations.
References
- https://github.com/caddyserver/caddy/security/advisories/GHSA-m675-2p33-xv9g
- https://github.com/caddyserver/caddy/security/advisories/GHSA-m675-2p33-xv9g
Get alerted when CVE-2026-45135 or the next vulnerability affects your stack