Уязвимость в клиенте Kubernetes для C# открывает путь для атак типа «человек посередине»

vulnerability

Обнаружена критическая уязвимость в клиентской библиотеке Kubernetes для C#, которая позволяет злоумышленникам проводить атаки типа «человек посередине» (MiTM) на сервер API. Проблема связана с некорректной проверкой сертификатов при использовании пользовательских центров сертификации (CA). Поскольку организации всё активнее используют Kubernetes для оркестрации контейнеров, данная слабость может привести к перехвату или изменению критически важного трафика контрольной плоскости, что ставит под угрозу целостность и конфиденциальность кластера.

Детали уязвимости

Основная причина уязвимости заключается в обработке клиентом пользовательских сертификатов CA, указанных в файле kubeconfig. Вместо проверки всей цепочки доверия библиотека принимает любой правильно структурированный сертификат, подписанный пользовательским CA, без верификации промежуточных сертификатов или статуса отзыва. Это открывает возможности для атак, особенно в ситуациях, когда злоумышленник может перехватить TLS-трафик - например, в публичных сетях или через скомпрометированный маршрутизатор.

При успешной атаке злоумышленник может представить поддельный сертификат, который клиент примет как доверенный. После этого становится возможным расшифровка и повторное шифрование трафика между приложением и сервером API Kubernetes. Это создаёт угрозу кражи учётных данных, внедрения команд, манипуляции запросами и ответами API. Под угрозой оказываются все версии клиента Kubernetes для C# до v17.0.14, если в конфигурации используется пользовательский CA.

Наиболее высокому риску подвержены системы, развёрнутые в ненадёжных сетях, такие как удалённые консоли управления, внешние CI/CD-конвейеры или облачные рабочие станции для разработки. Однако даже внутренние среды могут быть уязвимы, если сетевая сегментация недостаточна или злоумышленник получает возможность латерального перемещения.

Уязвимость получила идентификатор CVE-2025-9708 и оценку 6,8 по шкале CVSS v3.1 (средняя степень серьёзности). Это отражает возможность удалённой атаки, высокое влияние на конфиденциальность и целостность данных, но необходимость минимальных привилегий и некоторого взаимодействия с пользователем.

Для устранения проблемы рекомендуется как можно скорее обновить клиент Kubernetes для C# до версии 17.0.14 или новее. Это исправление обеспечивает корректную проверку цепочки сертификатов и отклонение непроверенных сертификатов. В качестве временной меры можно перенести пользовательские сертификаты CA в хранилище доверенных корневых сертификатов операционной системы и отключить режим пользовательского CA в клиенте. Однако стоит учитывать, что такой подход доверяет CA на уровне всей системы, что может создать дополнительные риски, если другие приложения используют тот же центр сертификации.

Администраторам следует провести аудит файлов kubeconfig на наличие поля certificate-authority, а также изучить логи клиента на предмет неожиданных ошибок или предупреждений, связанных с TLS. Обнаружение и исправление уязвимости стали результатом coordinated усилий специалистов: о проблеме сообщил @elliott-beach, а fixes были реализованы при участии Boshi Lian, Brendan Burns и Rita Zhang. Их работа гарантирует, что клиент теперь правильно применяет проверку цепочки доверия в сценариях с пользовательскими CA.

Ссылки

Комментарии: 0