CVE-2026-45692
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.
Scoring
- Severity
- MEDIUM
- CVSS base score
- 5.4
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
- EPSS probability
- 0.17%
- CWE
- CWE-187, CWE-863
- Published
- 2026-06-23
- Last modified
- 2026-06-26
Affected products
- caddyserver caddy
Weakness type
Related vulnerabilities
- CVE-2026-87853 — Sssd: sssd: idp authentication prefix comparison allows cross-user impersonation
- CVE-2026-84376 — Astro: Authorization bypass from missing path-segment boundary check when stripping the configured base
- CVE-2026-62750 — Windows HTTP Protocol Stack Tampering Vulnerability
- CVE-2026-14687 — 666ghj BettaFish InsightEngine search-result Deduplication agent.py _deduplicate_results partial string comparison
- CVE-2026-55602 — http-proxy-middleware `router` host+path substring matching allows Host-header-driven backend routing bypass
- CVE-2026-44837 — view_component: System Test Entry Point Path Check Allows Sibling Directory Escape
- CVE-2026-35031 — Jellyfin: Potential RCE via subtitle upload path traversal + .strm chain
- CVE-2026-34785 — Rack: Local file inclusion in `Rack::Static` via URL Prefix Matching