Contour — это входной контроллер Kubernetes, использующий прокси-сервер Envoy. В версиях с 1.23.0 по 1.33.4, когда HTTPProxy настроен с несовместимой комбинацией .spec.virtualhost.tls.enableFallbackCertificate: true и .spec.virtualhost.jwtProviders, Contour не отклоняет конфигурацию. Следовательно, запросы от клиентов, которые не отправляют TLS SNI или отправляют нераспознанный SNI (тот, который не соответствует ни одному полному доменному имени HTTPProxy), обходят настроенную проверку JWT и передаются восходящим службам без действительного токена.
Эта проблема исправлена в Contour v1.33.5. Contour теперь отклоняет и помечает недействительными любые ресурсы HTTPProxy, которые объединяют .spec.virtualhost.tls.enableFallbackCertificate: true с .spec.virtualhost.jwtProviders. Затронутые ресурсы получат состояние состояния с причиной ошибки TLSInсовместимыйFeatures.
В качестве обходного пути не включайте .spec.virtualhost.tls.enableFallbackCertificate для ресурсов HTTPProxy, которые также определяют .spec.virtualhost.jwtProviders. Удалите одну из двух настроек, чтобы избежать неправильной конфигурации.
Показать оригинальное описание (EN)
Contour is a Kubernetes ingress controller using Envoy proxy. In versions 1.23.0 through 1.33.4, when an `HTTPProxy` is configured with incompatible combination of both `.spec.virtualhost.tls.enableFallbackCertificate: true` and `.spec.virtualhost.jwtProviders`, Contour does not reject the configuration. Consequently, requests from clients that do not send TLS SNI or send an unrecognized SNI (one that does not match any `HTTPProxy` FQDN) bypass configured JWT verification and are proxied to upstream services without a valid token. This issue is fixed in Contour v1.33.5. Contour now rejects and marks invalid any `HTTPProxy` resources that combine `.spec.virtualhost.tls.enableFallbackCertificate: true` with `.spec.virtualhost.jwtProviders`. Affected resources will receive a status condition with the error reason `TLSIncompatibleFeatures`. As a workaround, do not enable `.spec.virtualhost.tls.enableFallbackCertificate` on `HTTPProxy` resources that also define `.spec.virtualhost.jwtProviders`. Remove one of the two settings to avoid the invalid configuration.
Характеристики атаки
Последствия
Строка CVSS v3.1