HIGH 7.5

CVE-2026-52844: Caddy Windows Path Bypass Vulnerability – HIGH Severity Information Disclosure

Caddy, a popular web server platform, has a flaw in how it handles file paths on Windows systems. When a client requests a file using mixed path separators (like /private\secret.txt), Caddy's security rules incorrectly think the request is outside a protected directory, but the actual file serving code resolves it to the correct file anyway. This means an attacker can bypass authentication or access denial rules that are meant to protect sensitive files. The issue only affects Windows deployments running Caddy before version 2.11.4.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses (CWE)
CWE-22, CWE-284
Affected products
2 configuration(s)
Published / Modified
2026-06-23 / 2026-06-29

NVD description (verbatim)

Caddy is an extensible server platform that uses TLS by default. Prior to 2.11.4, on Windows, Caddy path matchers treat /private\secret.txt as outside /private/*, but file_server later resolves the same request path as private\secret.txt on disk. An unauthenticated remote client can bypass Caddy path-scoped auth/deny routes protecting /private/*. This vulnerability is fixed in 2.11.4.

2 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-52844 stems from a path normalization inconsistency on Windows in Caddy versions prior to 2.11.4. The path matcher module interprets /private\secret.txt as a request outside the /private/* scope (treating the backslash as a literal character), while the file_server handler later normalizes the same path and resolves it to private\secret.txt on the Windows filesystem. This discrepancy allows unauthenticated clients to craft requests that pass through path-scoped authorization and denial rules yet still retrieve restricted files. The vulnerability is rooted in inadequate cross-component path normalization and affects the confidentiality of protected resources.

Business impact

Organizations running Caddy on Windows servers with path-based access controls are at immediate risk of unauthorized information disclosure. Any sensitive files protected by routes like /private/* become accessible to unauthenticated remote attackers without leaving audit evidence that rules were bypassed. This is particularly dangerous for systems handling customer data, internal documentation, credentials, or configuration files behind Caddy's auth middleware. Depending on the scope of protected directories, a breach could compromise compliance posture (PCI-DSS, HIPAA, GDPR) and enable secondary attacks via exposed credentials or system information.

Affected systems

Windows systems running Caddy versions 2.0 through 2.11.3 are vulnerable. This affects both standalone Caddy deployments and instances where Caddy is embedded as a platform component. Linux and macOS systems are not impacted due to their native path handling using forward slashes only. The vulnerability requires no special configuration—any Caddy instance using path matchers for authentication or denial rules on Windows is at risk by default.

Exploitability

Exploitability is very high. No authentication is required, no user interaction is needed, and the attack surface is simple: an unauthenticated remote client sends a single HTTP request crafted with mixed path separators. The attacker needs only to know or guess a protected file path; Caddy's verbose 404 responses can aid reconnaissance. Network access is the only requirement—there are no prerequisites around system state or configuration complexity.

Remediation

Upgrade to Caddy 2.11.4 or later immediately. This version implements consistent path normalization across the matcher and file_server components. Organizations should apply the update to all Windows-based Caddy deployments, including development and staging environments where developers might have access to sensitive test data. Verify the patch is in effect by checking the version string in Caddy's output and reviewing Caddyfile configurations to ensure path matchers remain in use for sensitive routes.

Patch guidance

1. Verify your current Caddy version by running `caddy version` or checking the admin API endpoint. 2. Download Caddy 2.11.4 or later from the official repository. 3. On Windows, replace the existing caddy.exe binary with the patched version. 4. Restart the Caddy service or daemon. 5. Validate that path-protected routes still function correctly and that audit logs show no suspicious path-crafting attempts during patching. 6. If running Caddy as a Docker container, ensure your image is rebuilt from an updated base that includes Caddy 2.11.4 or later. No configuration changes are required—the fix is transparent.

Detection guidance

Log analysis: Search HTTP access logs for requests containing mixed-case path separators (forward slash followed by backslash) targeting directories you protect with path matchers, such as /admin\, /private\, /api\. Indicators include 200 or 304 responses where the Caddyfile would normally return 401/403. Web application firewall (WAF) rules can flag requests with backslashes in the path component of the URL. Caddy's debug logs (with `log` directive at DEBUG level) will show path matcher decisions; review for mismatches between matcher rejection and file_server serving. Monitor for anomalous access patterns to known sensitive file locations. Before patching, review logs for the last 30–90 days to assess if exploitation has occurred.

Why prioritize this

High CVSS score (7.5) reflects the ease of exploitation, lack of authentication requirement, and direct impact to information confidentiality. The vulnerability is critical for Windows-based Caddy deployments because it defeats the point of using Caddy's path-scoped security model. Unlike memory corruption bugs that require precise conditions, this path-normalization flaw is reliable and reproducible. Any organization with sensitive files behind Caddy path rules should treat this as urgent.

Risk score, explained

CVSS 3.1 score of 7.5 (HIGH) is assigned because: Attack Vector is Network (AV:N), meaning remote access from the internet is possible. Attack Complexity is Low (AC:L), as no special conditions are needed—standard HTTP requests suffice. Privileges Required is None (PR:N), as the attacker is unauthenticated. User Interaction is None (UI:N), as no victim action is required. The scope is Unchanged (S:U). The impact is Confidentiality High (C:H), because sensitive files become readable; Integrity and Availability are None (I:N, A:N). The vector reflects a straightforward information disclosure vulnerability with a wide attack surface.

Frequently asked questions

Does this affect Caddy deployments on Linux or macOS?

No. The vulnerability is specific to Windows path handling. Linux and macOS use forward slashes exclusively, so the path normalization inconsistency does not exist on those platforms. You may still want to upgrade for other improvements, but this CVE does not pose a risk on Unix-like systems.

If I use Caddy's TLS-only mode, am I protected from this attack?

No. TLS encrypts the connection in transit, but it does not change how Caddy processes the path itself. The vulnerability exists at the application logic layer, not the transport layer. An attacker over HTTPS can exploit this just as easily as over HTTP.

Do I need to change my Caddyfile configuration after upgrading to 2.11.4?

No configuration changes are required. The patch fixes the path normalization logic internally; your existing Caddyfile rules will continue to work correctly and will now properly protect the paths they specify.

How can I quickly check if we might have been exploited before patching?

Review your Caddy access logs for requests containing backslash characters (\) in the URL path component, especially targeting directories you protect with path matchers. Requests that return 200 OK for files that should be blocked are a red flag. You can also check Caddy's debug logs if available. Contact SEC.co or Caddy security for help analyzing logs if the scope is large.

This analysis is based on official vulnerability data and Caddy project announcements as of the publication date. No exploit code or weaponized proof-of-concept details are provided. Organizations should verify patch availability and compatibility with their specific Caddy version and configuration before applying updates. This page is for informational purposes; consult official vendor advisories and your security team for deployment decisions. SEC.co makes no warranties regarding the completeness or real-time accuracy of this intelligence. Source: NVD (public-domain), retrieved 2026-07-29. Analysis generated by SEC.co (claude-haiku-4-5).