CVE-2026-45692·Caddy vulnerability
Caddy is an extensible server platform that uses TLS by default. From 2.4.0 until 2.11.3, the authorization layer and the /config traversal layer do not agree on what object the path refers to. In this case, a path authorized for one config object is accepted, but then resolves to a different config object during traversal. This happens because the authorization layer uses string prefix matching and the /config traversal layer parses array indices numerically using strconv.Atoi(). This vulnerability is fixed in 2.11.3.
- Severity
- medium
- Software
- Caddy
- Fixed in
- 2.11.3
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at 0.24% — higher than 14% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Affected versions
From: 2.4.0
Until: 2.11.3
Fixed in: 2.11.3
How to fix this CVE
Upgrade Caddy to version 2.11.3 or later to resolve a path authorization bypass vulnerability in the admin API configuration endpoint. This flaw allows authenticated users to access and modify configuration objects they should not have permission to reach by exploiting a mismatch between authorization checks and path traversal logic. Update immediately if you rely on Caddy's admin API with role-based access controls.
sudo dnf update caddyDefensia detects this vulnerability
What an exploitation attempt looks like
Sample log line indicative of exploitation attempts:
POST|PUT|DELETE /config/apps/http/servers/[0-9]+/routes/[0-9]+/ - requests to configuration paths with array indices from authenticated API clients that differ from the initially authorized path prefixWAF mitigation (if patching is not yet possible)
Add this rule to your WAF to block exploitation attempts while you schedule the patch.
Implement IP-based access restrictions on the Caddy admin API listener (bind to localhost or a private network only); restrict POST/PUT/DELETE methods to /config/* to authorized internal networks; enforce mutual TLS between admin clients and Caddy if the API must be exposed over a network.How to check if you are affected
- Run 'caddy version' to check the installed Caddy release number; versions 2.4.0 through 2.11.2 are vulnerable
- Verify if the admin API is exposed by checking Caddy's configuration file (usually /etc/caddy/Caddyfile) for an 'admin' directive or listening on localhost:2019
- Review Caddy access logs for requests to /config/apps/http/servers/*/routes/*/matchers/* or similar nested config paths originating from authenticated sessions
- After upgrading, run 'caddy version' again and confirm the version is 2.11.3 or higher, then restart Caddy with 'sudo systemctl restart caddy'
FAQ
What is CVE-2026-45692?
This vulnerability exists in Caddy's admin API where the authorization layer and the configuration endpoint use different methods to interpret path strings, allowing an authenticated user to bypass access controls and modify configuration objects outside their permission scope.
Is CVE-2026-45692 being actively exploited?
No, this CVE is not listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available, though the vulnerability is straightforward to exploit if admin API access is exposed.
What versions of Caddy are affected by CVE-2026-45692?
Caddy versions 2.4.0 through 2.11.2 are vulnerable; version 2.11.3 and all later releases contain the fix.
How do I check if my server is vulnerable to CVE-2026-45692?
Run 'caddy version' and compare the output to version 2.11.3; if your version is lower, you are vulnerable. Additionally, verify admin API exposure with 'netstat -tlnp | grep caddy' to confirm if port 2019 is listening.
Does Defensia detect CVE-2026-45692?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Caddy is installed on a monitored server, CVE-2026-45692 will appear in your dashboard with remediation steps.
Related Caddy CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-45692. Free for 1 server.
Get started free