Vulnerabilities

Vulnerability · CVE-2026-45692

Caddy is an extensible server platform that uses TLS by default.

Published May 13, 2026 · catalog updated Oct 24, 2026 · Caddy is an extensible

Last checked Nov 1, 2026. A connected source was read within the last 7 days.

Check if you run it

No confirmed exploitation is on record for CVE-2026-45692. EPSS is 0.24%. Act only if a listed version of Caddy is an extensible is installed.

Gaps on this record

  • The stored product name is a package slug. The name on this page is taken from the title (Caddy is an extensible).
  • No vendor fix or required action is stored. Compare the linked advisory before you change production.
Severity
Medium5.4
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
0.24%
Remediation
Advisory link
Affected products
Debian:12 caddy · Debian:13 caddy · Debian:14 caddy · go github.com/caddyserver/caddy/v2

this report is not about a normal textual prefix-expansion case. The issue here is that the authorization layer and the 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. That is why I believe this is a real authorization bug in Caddy's own source code, not merely a documented prefix-match edge case. ## AI Disclosure I used an LLM to help review the code, reason about the behavior, and help draft this report. I manually reproduced and validated the issue locally, confirmed the relevant source paths, and captured the requests and responses below. ## Summary A remote admin client certificate restricted to the following path: can still read and modify a different array element by requesting: /config/apps/http/servers/srv/routes/01 This happens because: - the authorization layer uses string prefix matching - the /config traversal layer parses array indices numerically using strconv.Atoi() So: - authorization sees /.../01 as matching /.../0 - traversal resolves 01 to numeric index 1 - the request therefore targets routes[1], not routes[0] This is not just a prefix-match quirk. It is an authorization-to-object mismatch. ## Why I Believe This Is In Scope This is a security bug in Caddy's own code: - no browser behavior is involved - no dependency bug is involved - no external system compromise is involved - no third-party software compromise is required - no unsafe content hosting or file upload is required This is also not just “an unsafe configuration”. The configuration explicitly attempts to limit access to one specific path: /config/apps/http/servers/srv/routes/0 But Caddy enforces a policy that ends up granting access to a different object (routes[1]) because of how traversal interprets the final path component. In short: - configured authorization target: routes[0] - actual accessed object: routes[1] That difference

Are you affected?

Enter the version you run. The result uses only the ranges stored on this record.

The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.

  • Debian:12 caddy0 → 2.6.2-5+deb12u1
  • Debian:13 caddy0 → 2.6.2-12+deb13u1
  • Debian:14 caddy0 → 2.11.4-1
  • go github.com/caddyserver/caddy/v2v2.4.0 and later

How to fix CVE-2026-45692

What to do

Three questions, each answered from this record only. Confirm the vendor advisory before you patch.

Should you patch?

No confirmed exploitation is on record for CVE-2026-45692. EPSS is 0.24%. Act only if a listed version of Caddy is an extensible is installed.

Which versions are affected?

Compare what you have installed with 0 → 2.6.2-5+deb12u1, 0 → 2.6.2-12+deb13u1, 0 → 2.11.4-1, v2.4.0 and later. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

CWE-187; CWE-863: Incorrect Authorization. EPSS 0.24%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.

Technology hubs

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Jun 23, 2026 · OpenSSF OSV / OSV Scanner

    Detected

    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 a

  2. Oct 24, 2026 · OpenSSF OSV / OSV Scanner

    Fix available

    caddy fixed in 2.6.2-5+deb12u1; caddy fixed in 2.6.2-12+deb13u1; caddy fixed in 2.11.4-1

  3. Oct 24, 2026 · OpenSSF OSV / OSV Scanner

    Fix available

    caddy fixed in 2.6.2-5+deb12u1

  4. Oct 24, 2026 · OpenSSF OSV / OSV Scanner

    Fix available

    caddy fixed in 2.6.2-12+deb13u1

  5. Oct 24, 2026 · OpenSSF OSV / OSV Scanner

    Fix available

    caddy fixed in 2.11.4-1

  6. Oct 24, 2026 · OpenSSF OSV / OSV Scanner

    Updated

    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 a

Sources

  • CVE.orgVulnerability recordCVE-2026-45692

    Official CVE identifier

    cve.org
  • Maintainer security tabsVendor advisoryGHSA-x5w9-xh9r-mvfc

    this report is not about a normal textual prefix-expansion case. The issue here is that the authorization layer and the 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. That is why I believe this is a real authorization bug in Caddy's own source

    github.com
  • OpenSSF OSV / OSV ScannerPackage advisoryDEBIAN-CVE-2026-45692
    osv.dev
  • Trivy Vulnerability DBPackage advisoryDEBIAN-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 t

    osv.dev

References

Freshness

Last verified in this catalog Oct 31, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.

  • Maintainer security tabsNov 1, 2026
  • CVE.orgOct 24, 2026
  • Trivy Vulnerability DBOct 24, 2026
  • OpenSSF OSV / OSV ScannerOct 24, 2026