{"id":"CVE-2026-27587","summary":"Caddy: MatchPath %xx (escaped-path) branch skips case normalization, enabling path-based route/auth bypass","details":"Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's HTTP `path` request matcher is intended to be case-insensitive, but when the match pattern contains percent-escape sequences (`%xx`) it compares against the request's escaped path without lowercasing. An attacker can bypass path-based routing and any access controls attached to that route by changing the casing of the request path. Version 2.11.1 contains a fix for the issue.","aliases":["GHSA-g7pc-pc7g-h8jh","GO-2026-4538"],"modified":"2026-05-18T05:58:40.913155477Z","published":"2026-02-24T16:26:40.222Z","related":["SUSE-SU-2026:0757-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27587.json","cwe_ids":["CWE-178"],"cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/caddyserver/caddy/releases/tag/v2.11.1"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27587.json"},{"type":"ADVISORY","url":"https://github.com/caddyserver/caddy/security/advisories/GHSA-g7pc-pc7g-h8jh"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-27587"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/caddyserver/caddy","events":[{"introduced":"551f793700fe1550845c824470b623fd1aa03d36"},{"fixed":"6610e2f1bd8f54853006eefd3849c9965190e57f"}]}],"versions":["v2.11.0","v2.11.0-beta.2","v2.11.0-beta.1","v2.10.2"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-27587.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P"}]}