CVE-2026-27586
Published: 24 February 2026
Description
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…
more
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.
Mitigating Controls (NIST 800-53 r5)AI
Directly addresses the swallowed errors in ClientAuthentication.provision() that cause mTLS to silently fail open when CA certificate files are missing, unreadable, or malformed.
Ensures the server fails to a secure known state instead of degrading to accept any system-trusted client certificates, bypassing the private CA trust boundary.
Implements fail-safe procedures for intolerable conditions like unavailable CA files, preventing unauthorized access via misconfigured mTLS authentication.
Security SummaryAI
CVE-2026-27586 affects Caddy, an extensible server platform that uses TLS by default, in versions prior to 2.11.1. The vulnerability stems from two swallowed errors in the `ClientAuthentication.provision()` function, causing mutual TLS (mTLS) client certificate authentication to silently fail open. This occurs when a specified CA certificate file—configured via `trusted_ca_cert_file` or `trusted_ca_certs_pem_files`—is missing, unreadable, or malformed. As a result, the server starts without any error indication but accepts any client certificate signed by a system-trusted CA, completely bypassing the intended private CA trust boundary. The issue aligns with CWE-755 (Improper Handling of Exceptional Conditions) and carries a CVSS v3.1 base score of 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N).
Remote attackers can exploit this vulnerability without privileges or user interaction by connecting to a vulnerable Caddy server instance configured for mTLS authentication. Exploitation requires the CA certificate file to become unavailable due to factors such as a path typo, file rotation, corruption, or permission changes, which triggers the silent fail-open behavior. A successful attack allows the attacker to present any client certificate signed by a system-trusted CA, granting unauthorized access to resources protected by the mTLS boundary and potentially leading to high confidentiality and integrity impacts, such as data exfiltration or modification.
The Caddy security advisory (GHSA-hffm-g8v7-wrv7) and release notes for version 2.11.1 detail the fix, which addresses the swallowed errors to ensure proper error handling and prevent silent degradation of mTLS authentication. Security practitioners should upgrade to Caddy 2.11.1 or later and verify CA file configurations, including paths, permissions, and integrity, to mitigate the risk. Additional technical details are available in the referenced GitHub gist.
Details
- CWE(s)
Affected Products
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
The vulnerability in the Caddy server, a public-facing web server platform, allows remote unauthenticated attackers to bypass mTLS client certificate authentication by presenting any system-trusted CA-signed certificate, directly enabling exploitation of a public-facing application.