CVE-2026-27587 Caddy: MatchPath %xx (escaped-path) branch skips case normalization, enabling path-based route/auth bypass

High 7.7 Published Updated

Attackers can bypass path-based routing and access controls in Caddy by manipulating case in percent-encoded paths.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-27587?

CVE-2026-27587 is a high-severity vulnerability in caddyserver caddy, published on 24 Feb 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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.

Weakness: CWE-178

Which versions are affected by CVE-2026-27587?

3 open source packages ship an affected version, including github.com/caddyserver/caddy/v2. It affects 1 product.

PackageAffectedFixed in
github.com/caddyserver/caddy/v2 GoAll versions2.11.1
github.com/caddyserver/caddy/v2 GoAll versions2.11.1
github.com/caddyserver/caddy/v2 GoAll versions2.11.1

Products include Caddyserver Caddy.

How do I fix CVE-2026-27587?

Upgrade github.com/caddyserver/caddy/v2 to 2.11.1 or later.

Is CVE-2026-27587 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-27587 exists.

Sources

Also known as DEBIAN-CVE-2026-27587, GHSA-g7pc-pc7g-h8jh, GO-2026-4538, MINI-qpp3-fxrg-82v7, UBUNTU-CVE-2026-27587.

Is CVE-2026-27587 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free