Специалисты по кибербезопасности выявили три неисправленные уязвимости высокой степени критичности в контроллере входящего трафика NGINX. Zero-day недостатки могут привести к утечке учётных данных и других секретов из кластеров Kubernetes.
Идентифицированные проблемы были раскрыты 27 октября и получили обозначения CVE-2023-5043 , CVE-2023-5044и CVE-2022-4886 . Пока неясно, были ли они использованы в реальных атаках и когда будет выпущено исправление.
Все три уязвимости затрагивают NGINX Ingress Controller , используемый в Kubernetes как обратный прокси и балансировщик нагрузки, до версии 1.9.0 включительно.
Первые две бреши, CVE-2023-5043 и CVE-2023-5044, связаны с недостаточной проверкой входных данных и могут привести к внедрению произвольного кода, получению привилегированных учётных данных и краже всех секретов кластера. Обе проблемы имеют оценку уязвимости 7,6 из 10 по шкале CVSS.
Комитет по реагированию на безопасность Kubernetes рекомендует администраторам Ingress использовать флаг “–enable-annotation-validation” для усиления проверки содержимого полей аннотаций ingress-nginx в качестве меры предосторожности.
Третья уязвимость, CVE-2022-4886, оценивается более высоко – 8,8 по шкале CVSS. Эта проблема может быть эксплуатирована при создании или обновлении объектов Ingress, позволяя злоумышленникам получить доступ к учётным данным Kubernetes API из контроллера Ingress и, следовательно, украсть все секреты кластера. Она затрагивает версии до 1.8.0 включительно.
Смягчение последствий этой уязвимости зависит от конфигурации поля “pathType”, которое определяет поведение прокси. Согласно предоставленной информации, при настройке “pathType” как “Exact” или “Prefix” следует блокировать любой Ingress с недопустимыми символами:
“При конфигурации “pathType” как “Exact” или “Prefix” применяется более строгая проверка, разрешающая только пути, начинающиеся с символа “/” и содержащие только буквенно-цифровые символы, а также “-“, “_” и дополнительные “/”, – объясняют специалисты.
Если для “pathType” используется значение “ImplementationSpecific”, то администраторам рекомендуется установить политику, блокирующую вредоносные пути, как показано в примере Open Policy Agent .
Безопасность контроллеров Ingress вызывает особую тревогу, поскольку они по своей сути имеют доступ к секретам TLS и Kubernetes API, что делает их привилегированными рабочими нагрузками. Учитывая их важность как компонентов, обращённых к интернету, риск внешних атак существенно увеличивается.
Бен Хиршберг, сооснователь и главный технический директор компании Armo, специализирующейся на безопасности Kubernetes, подчёркивает : “Все эти уязвимости указывают на одну и ту же основную проблему, требующую немедленного внимания специалистов по кибербезопасности”.