Caddy is an extensible server platform that uses TLS by default. From 2.4.0 until 2.11.3, the authorization layer and the /config traversal layer do not agree on what object the path refers to. In this case, a path authorized for one config object is accepted, but then resolves to a different config object during traversal. This happens because the authorization layer uses string prefix matching and the /config traversal layer parses array indices numerically using strconv.Atoi(). This vulnerability is fixed in 2.11.3.
Fix
Patch, vendor advisory and mitigation references on NVD 2
- https://github.com/caddyserver/caddy/security/advisories/GHSA-x5w9-xh9r-mvfc Exploit, Vendor Advisory
- https://github.com/caddyserver/caddy/security/advisories/GHSA-x5w9-xh9r-mvfc Exploit, Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 3.8 · caddyserverNVD modified 2026-10-25 23:10
Affected (CPE criteria) 1
cpe:2.3:a:caddyserver:caddy:*:*:*:*:*:*:*:*
References 2
- https://github.com/caddyserver/caddy/security/advisories/GHSA-x5w9-xh9r-mvfc Exploit, Vendor Advisory
- https://github.com/caddyserver/caddy/security/advisories/GHSA-x5w9-xh9r-mvfc Exploit, Vendor Advisory