CVE-2026-27590
Fixed in a distro release EPSS <1%CVSS 8.9
Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's FastCGI path splitting logic computes the split index on a lowercased copy of the request path and then uses that byte index to slice the original path. This is unsafe for Unicode because `strings.ToLower()` can change UTF-8 byte length for some characters. As a result, Caddy can derive an incorrect `SCRIPT_NAME`/`SCRIPT_FILENAME` and `PATH_INFO`, potentially causing a request that contains `.php` to execute a different on-disk file than intended (path confusion). In setups where an attacker can control file contents (e.g., upload features), this can lead to unintended PHP execution of non-.php files (potential RCE depending on deployment). Version 2.11.1 fixes the issue.
Products: caddyserver caddy
Fixed upstream
| Ecosystem | Package | Fixed in |
|---|---|---|
| Go | github.com/caddyserver/caddy/v2 | 2.11.1 |
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Debian:12 | caddy | 2.6.2-5+deb12u1 |
| Debian:13 | caddy | 2.6.2-12+deb13u1 |
| Debian:14 | caddy | 2.11.2-1 |
| Ubuntu:25.10 | caddy | no fix |
| Ubuntu:26.10 | caddy | no fix |
| Ubuntu:Pro:24.04:LTS | caddy | no fix |
| Ubuntu:Pro:26.04:LTS | caddy | no fix |
| openSUSE:Leap 15.6 | govulncheck-vulndb | 0.0.20260226T182644-150000.1.149.1 |
| openSUSE:Leap 16.0 | govulncheck-vulndb | 0.0.20260723T184607-160000.1.1 |