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.
Published: 2026-02-24
Score: 7.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Route and Authorization Bypass via case‐sensitive URL handling
Action: Apply Update
AI Analysis

Impact

Caddy versions prior to 2.11.1 contain an error in the HTTP path request matcher: percent‑escaped segments are compared without case normalization. This flaw allows an attacker to alter the casing of a path in the request URL so that the server treats the request as matching a different route. The result is that path‑based routing logic and any access controls tied to that route can be bypassed, potentially granting unauthorized access to protected resources or services.

Affected Systems

The vulnerability affects servers running Caddy server platform version 2.11.0 and earlier. The issue was addressed and fixed in release 2.11.1, as noted by the Caddy developers.

Risk and Exploitability

The flaw carries a CVSS score of 7.7 and an EPSS probability of less than 1 %, indicating a low probability of exploitation but still high impact if used. The vulnerability is not listed in the CISA KEV catalog. Attackers would need to send a crafted HTTP request containing a percent‑escaped path with altered casing; no elevated privileges or local access are required. The attack is therefore remote and can be executed simply by targeting the exposed HTTP interface.

Generated by OpenCVE AI on April 16, 2026 at 16:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Caddy to version 2.11.1 or later to apply the fix for case‑normalization in percent‑encoded paths
  • If upgrading immediately is not feasible, block or filter requests containing percent‑escaped paths that differ only in case using a reverse proxy or firewall rule
  • Ensure that any custom routing or authorization logic explicitly validates the canonical form of the path before granting access

Generated by OpenCVE AI on April 16, 2026 at 16:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-g7pc-pc7g-h8jh Caddy: MatchPath %xx (escaped-path) branch skips case normalization, enabling path-based route/auth bypass
History

Fri, 27 Feb 2026 21:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 25 Feb 2026 17:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:caddyserver:caddy:*:*:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Wed, 25 Feb 2026 12:00:00 +0000

Type Values Removed Values Added
First Time appeared Caddyserver
Caddyserver caddy
Vendors & Products Caddyserver
Caddyserver caddy

Tue, 24 Feb 2026 17:00:00 +0000

Type Values Removed Values Added
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.
Title Caddy: MatchPath %xx (escaped-path) branch skips case normalization, enabling path-based route/auth bypass
Weaknesses CWE-178
References
Metrics cvssV4_0

{'score': 7.7, 'vector': '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'}


Subscriptions

Caddyserver Caddy
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-02-27T20:48:09.775Z

Reserved: 2026-02-20T17:40:28.450Z

Link: CVE-2026-27587

cve-icon Vulnrichment

Updated: 2026-02-27T20:48:06.400Z

cve-icon NVD

Status : Analyzed

Published: 2026-02-24T17:29:03.953

Modified: 2026-02-25T17:11:25.233

Link: CVE-2026-27587

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-16T16:30:15Z

Weaknesses