CVE-2026-27587: Caddy: MatchPath %xx (escaped-path) branch skips case normalization, enabling path-based route/auth bypass
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.
References
- github.com/advisories/GHSA-g7pc-pc7g-h8jh
- github.com/caddyserver/caddy
- github.com/caddyserver/caddy/commit/a1081194bfae4e0d8c227ec44aecb95eded55d1e
- github.com/caddyserver/caddy/releases/tag/v2.11.1
- github.com/caddyserver/caddy/security/advisories/GHSA-g7pc-pc7g-h8jh
- nvd.nist.gov/vuln/detail/CVE-2026-27587
Code Behaviors & Features
Detect and mitigate CVE-2026-27587 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →