Критическая уязвимость в Ingress NGINX Controller позволяет выполнять удаленный код без аутентификации

Критическая уязвимость в Ingress NGINX Controller позволяет выполнять удаленный код без аутентификации
Photo by Ian Taylor / Unsplash

24 марта 2025 года была обнародована серия из пяти критических уязвимостей в Ingress NGINX Controller для Kubernetes, которые могут привести к выполнению удаленного кода без аутентификации. Эти уязвимости подвергают риску более 6,500 кластеров, так как компонент оказывается доступным через публичный интернет.

Уязвимости (CVE-2025-24513, CVE-2025-24514, CVE-2025-1097, CVE-2025-1098 и CVE-2025-1974) получили общий рейтинг CVSS 9.8 и были названы IngressNightmare компанией Wiz, специализирующейся на облачной безопасности. Важно отметить, что эти уязвимости не затрагивают NGINX Ingress Controller, который является другой реализацией контроллера входа для NGINX и NGINX Plus.

В чем суть уязвимости?

IngressNightmare затрагивает компонент admission controller в Ingress NGINX Controller для Kubernetes. Около 43% облачных сред подвержены этим уязвимостям. Ingress NGINX Controller использует NGINX в качестве обратного прокси и балансировщика нагрузки, что позволяет открывать HTTP и HTTPS маршруты извне кластера для внутренних сервисов.

Уязвимость использует тот факт, что admission controllers, развернутые внутри Kubernetes pod, доступны через сеть без аутентификации. Конкретно, она позволяет внедрить произвольную конфигурацию NGINX удаленно, отправив вредоносный объект ingress (также известный как AdmissionReview requests) непосредственно в admission controller. Это приводит к выполнению кода в pod Ingress NGINX Controller.

Какие уязвимости обнаружены?

  1. CVE-2025-24513 (CVSS score: 4.8) – Некорректная проверка ввода, которая может привести к перемещению по каталогам внутри контейнера, что в свою очередь может вызвать отказ в обслуживании (DoS) или ограниченное раскрытие секретных объектов кластера при комбинировании с другими уязвимостями.
  2. CVE-2025-24514 (CVSS score: 8.8) – Аннотация auth-url Ingress может быть использована для внедрения конфигурации в NGINX, что приводит к выполнению произвольного кода в контексте контроллера ingress-nginx и раскрытию секретов, доступных контроллеру.
  3. CVE-2025-1097 (CVSS score: 8.8) – Аннотация auth-tls-match-cn Ingress может быть использована для внедрения конфигурации в NGINX, что приводит к выполнению произвольного кода в контексте контроллера ingress-nginx и раскрытию секретов, доступных контроллеру.
  4. CVE-2025-1098 (CVSS score: 8.8) – Аннотации mirror-target и mirror-host Ingress могут быть использованы для внедрения произвольной конфигурации в NGINX, что приводит к выполнению произвольного кода в контексте контроллера ingress-nginx и раскрытию секретов, доступных контроллеру.
  5. CVE-2025-1974 (CVSS score: 9.8) – Неаутентифицированный злоумышленник с доступом к сети pod может выполнить произвольный код в контексте контроллера ingress-nginx при определенных условиях.

Как защититься?

После ответственного раскрытия уязвимости, они были устранены в версиях Ingress NGINX Controller 1.12.1, 1.11.5 и 1.10.7. Пользователям рекомендуется как можно скорее обновиться до последней версии и убедиться, что конечная точка admission webhook не доступна извне.

В качестве временных мер рекомендуется ограничить доступ к admission controller только для Kubernetes API Server и временно отключить компонент admission controller, если он не используется.

Эти меры помогут защитить ваши кластеры от потенциальных атак и предотвратить несанкционированный доступ к секретам и данным.

Read more

🔄 Своя Dropbox-альтернатива: Syncthing

🔄 Своя Dropbox-альтернатива: Syncthing

🧠 Зачем? Облачные сервисы — удобно, но: * не хочется платить Google/Dropbox за хранение своих файлов * хочется моментально синхронизировать фото, документы и заметки между устройствами * и делать это на своём сервере, без отправки данных «в облако» 👉 Решение — Syncthing: децентрализованный, зашифрованный, open source-синк между любыми устройствами. 🚀 Что ты получишь? * 📂 Автосинк папок между сервером,

🎧 Свой подкаст-сервер за 5 минут: Podgrab

🎧 Свой подкаст-сервер за 5 минут: Podgrab

✨ Зачем? Подкасты — отличный способ учиться, развлекаться и быть в курсе мира. Но что, если: * Хочется слушать подкасты офлайн * Хочется архивировать любимые шоу * Не устраивают сторонние сервисы, реклама и трекеры Решение: Podgrab — простой подкаст-граббер, который автоматически скачивает новые выпуски с любого RSS. А в связке с Audiobookshelf ты получаешь полноценный медиасервер.

Безопасное управление конфигурациями в Ansible: Полное руководство по использованию rescue и always

Безопасное управление конфигурациями в Ansible: Полное руководство по использованию rescue и always

Введение: Почему это важно В мире DevOps и системного администрирования существует простое правило: всё ломается. Особенно в самый неподходящий момент. Когда вы изменяете конфигурацию критического сервиса (например, Nginx), цена ошибки может быть очень высока — от простого даунтайма до потери данных. Ansible предлагает элегантное решение для безопасного внесения изменений через механизм

Использование ~/.ssh/authorized_keys для управления входящими SSH-соединениями

Использование ~/.ssh/authorized_keys для управления входящими SSH-соединениями

Файл ~/.ssh/authorized_keys позволяет настроить команды, которые будут выполняться при входящих SSH-соединениях. Это полезный инструмент для управления доступом и обеспечения безопасности, особенно при работе с резервным копированием данных. Настройка резервного копирования с использованием authorized_keys В данном примере рассматривается использование authorized_keys для настройки резервного копирования базы данных Bacula