CVE-2025-1974
Ingress-NGINX: удалённое выполнение кода через admission-контроллер
CVE-2025-1974 затрагивает ingress-nginx с включённым Validating Admission Controller: доступный из сети Pod запрос может использовать конфигурационную инъекцию и получить опасный доступ к кластеру. Проверьте наличие ingress-nginx, обновите контроллер и временно отключите admission-функцию только по официальной процедуре.
Кому нужно проверить
Администраторам Kubernetes-кластеров, DevOps/SRE и владельцам платформ, использующим ingress-nginx с admission webhooks. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
При наличии сетевого пути к уязвимому admission-компоненту атакующий может добиться выполнения кода в контексте ingress-nginx и повысить влияние до компрометации кластерных данных или управления. Не считайте сам факт публикации Ingress достаточным условием: проверьте реальную сетевую модель и настройки webhook.
Затронутые версии
Официальное объявление Kubernetes описывает уязвимость в ingress-nginx и связанные проблемы для конфигурационной инъекции через Validating Admission Controller. Условием практической атаки является сетевой доступ к admission-компоненту; точную установленную версию и способ установки нужно проверить в конкретном кластере.
Исправленные версии
Исторические исправления CVE опубликованы в ingress-nginx 1.12.1 и 1.11.5. Однако проект ingress-nginx выведен из эксплуатации: поддержка остановлена в марте 2026 года, репозиторий read-only, новых исправлений безопасности не будет. Не считайте эти исторические версии актуально поддерживаемым решением; планируйте миграцию на поддерживаемый ingress controller или Gateway API.
Что сделать
- 1Проверьте, используется ли ingress-nginx: с правами администратора кластера выполните kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx и зафиксируйте namespace, образ и способ установки. Не публикуйте полный вывод с внутренними именами и адресами.
- 2Определите точный tag образа ingress-nginx и наличие ValidatingWebhookConfiguration ingress-nginx-admission. Сопоставьте их с официальным advisory, не выводя версию Kubernetes вместо версии контроллера.
- 3Устраните CVE: исторически исправленные релизы — 1.12.1 и 1.11.5. Поскольку ingress-nginx выведен из эксплуатации с марта 2026 года и больше не получает security fixes, не используйте его как долгосрочное решение: мигрируйте на поддерживаемый ingress controller или Gateway API.
- 4Пока готовится миграция, можно временно отключить Validating Admission Controller строго по официальной инструкции проекта для вашего способа установки. Это только временная мера, не исправление CVE; не возвращайте неподдерживаемую конфигурацию в эксплуатацию после переключения на другой контроллер.
- 5Проверьте сетевые политики и firewall так, чтобы admission endpoint не был доступен из недоверенных сетей. Не полагайтесь только на User-Agent, WAF или BotProtection: они не исправляют уязвимый контроллер.
- 6Проводите миграцию на staging: сравните TLS, аннотации, маршруты, политики доступа, лимиты и поведение приложений. После переключения проверьте ingress-трафик, журналы и события; удалите старый controller только после подтверждения, что трафик больше через него не проходит.
- 7Проверьте журналы и события кластера на подозрительные изменения Ingress/конфигурации. При признаках компрометации действуйте по плану реагирования и оцените секреты, доступные контроллеру, как потенциально затронутые.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.