Caddy — это расширяемая серверная платформа, которая по умолчанию использует TLS. До версии 2.11.1 две проглоченные ошибки в `ClientAuthentication.provision()` приводили к тому, что проверка подлинности сертификата клиента mTLS автоматически не открывалась, когда файл сертификата CA отсутствует, не читается или имеет неверный формат. Сервер запускается без ошибок, но принимает любой сертификат клиента, подписанный любым доверенным для системы центром сертификации, полностью игнорируя предполагаемую границу доверия частного центра сертификации.
Любое развертывание с использованием `trusted_ca_cert_file` или `trusted_ca_certs_pem_files` для mTLS автоматически перейдет к принятию любого доверенного системой сертификата клиента, если файл CA станет недоступным. Это может произойти из-за опечатки в пути, ротации файла, повреждения или изменения разрешений. Сервер не дает никаких указаний на то, что mTLS настроен неправильно.
Версия 2.11.1 устраняет уязвимость.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Caddyserver Caddy
cpe:2.3:a:caddyserver:caddy:*:*:*:*:*:*:*:*
|
— |
2.11.1
|