CVE-2026-27586

Source
https://cve.org/CVERecord?id=CVE-2026-27586
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-27586.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-27586
Aliases
Downstream
Published
2026-02-24T16:08:20.569Z
Modified
2026-02-25T08:54:46.571792Z
Severity
  • 8.8 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:P CVSS Calculator
Summary
Caddy's mTLS client authentication silently fails open when CA certificate file is missing or malformed
Details

Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, two swallowed errors in ClientAuthentication.provision() cause mTLS client certificate authentication to silently fail open when a CA certificate file is missing, unreadable, or malformed. The server starts without error but accepts any client certificate signed by any system-trusted CA, completely bypassing the intended private CA trust boundary. Any deployment using trusted_ca_cert_file or trusted_ca_certs_pem_files for mTLS will silently degrade to accepting any system-trusted client certificate if the CA file becomes unavailable. This can happen due to a typo in the path, file rotation, corruption, or permission changes. The server gives no indication that mTLS is misconfigured. Version 2.11.1 fixes the vulnerability.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-755"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27586.json"
}
References

Affected packages

Git / github.com/caddyserver/caddy

Affected ranges

Type
GIT
Repo
https://github.com/caddyserver/caddy
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "versions": [
        {
            "introduced": "0"
        },
        {
            "fixed": "2.11.1"
        }
    ]
}

Affected versions

v2.*
v2.0.0
v2.0.0-beta.13
v2.0.0-beta.14
v2.0.0-beta.15
v2.0.0-beta.16
v2.0.0-beta.17
v2.0.0-beta.18
v2.0.0-beta.19
v2.0.0-beta.20
v2.0.0-beta1
v2.0.0-beta10
v2.0.0-beta11
v2.0.0-beta12
v2.0.0-beta2
v2.0.0-beta3
v2.0.0-beta4
v2.0.0-beta5
v2.0.0-beta6
v2.0.0-beta7
v2.0.0-beta8
v2.0.0-beta9
v2.0.0-rc.1
v2.0.0-rc.2
v2.0.0-rc.3
v2.1.0
v2.1.0-beta.1
v2.1.0-beta.2
v2.1.1
v2.10.0
v2.10.0-beta.1
v2.10.0-beta.2
v2.10.0-beta.3
v2.10.0-beta.4
v2.10.1
v2.10.2
v2.11.0
v2.11.0-beta.1
v2.11.0-beta.2
v2.2.0
v2.2.0-rc.1
v2.2.0-rc.2
v2.2.0-rc.3
v2.2.1
v2.2.3
v2.3.0
v2.3.0-beta.1
v2.3.0-rc.1
v2.3.0-rc.2
v2.4.0
v2.4.0-beta.1
v2.4.0-beta.2
v2.4.0-rc.1
v2.4.1
v2.4.2
v2.4.3
v2.4.4
v2.4.5
v2.4.6
v2.5.0
v2.5.0-beta.1
v2.5.0-rc.1
v2.5.1
v2.5.2
v2.6.0
v2.6.0-beta.1
v2.6.0-beta.2
v2.6.0-beta.3
v2.6.0-beta.4
v2.6.0-beta.5
v2.6.1
v2.6.2
v2.6.3
v2.6.4
v2.7.0
v2.7.0-beta.1
v2.7.0-beta.2
v2.7.1
v2.7.2
v2.7.3
v2.7.4
v2.7.5
v2.8.0
v2.8.0-beta.1
v2.8.0-beta.2
v2.8.0-rc.1
v2.8.1
v2.8.2
v2.8.3
v2.8.4
v2.9.0
v2.9.0-beta.1
v2.9.0-beta.2
v2.9.0-beta.3
v2.9.1

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-27586.json"