Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2026-24514-Kubernetes-Dos — Доказательство концепции эксплуатации для CVE-2026-24514, отказа в обслуживании из-за исчерпания памяти в проверяющем admission webhook ingress-nginx, позволяющего атакующим с низкими привилегиями вызывать сбой подов контроллера с помощью запросов AdmissionReview чрезмерного размера. | Kitploit
Инструменты/GitHubGitHub/mbanyamer/cve-2026-24514-kubernetes-dos
Безопасность контейнеровАнализ уязвимостейЭксплуатацияВеб-безопасностьБезопасность облачных сред
GitHubmbanyamer/cve-2026-24514-kubernetes-dos

cve-2026-24514-Kubernetes-Dos

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

Доказательство концепции эксплуатации для CVE-2026-24514, отказа в обслуживании из-за исчерпания памяти в проверяющем admission webhook ingress-nginx, позволяющего атакующим с низкими привилегиями вызывать сбой подов контроллера с помощью запросов AdmissionReview чрезмерного размера.

96 месяцев назадЕщё не проверено
Поделиться

Author CVE-2026-24514 Severity CVSS v3.1 CWE-770 Exploit Type Published

CVE-2026-24514 – Критическое исчерпание памяти в validating admission webhook компонента ingress-nginx

Уязвимость удалённого отказа в обслуживании без аутентификации / с низкими привилегиями, позволяющая злоумышленникам вызывать сбой подов контроллера ingress-nginx с помощью чрезмерно больших запросов AdmissionReview.

Обзор и влияние на бизнес

Validating admission webhook компонента ingress-nginx (при включении) не устанавливает разумных ограничений на размер входящих объектов AdmissionReview.
Злоумышленник, имеющий доступ к конечной точке webhook — даже с низкими привилегиями — может отправлять чрезвычайно большие JSON-нагрузки, вынуждая процесс контроллера выделять огромные объёмы памяти.

Последствия включают:

  • Немедленное завершение работы из-за нехватки памяти (OOMKilled) подов ingress-nginx
  • Потерю проверки admission для новых/изменённых ресурсов Ingress
  • Временное или продолжительное нарушение маршрутизации нового трафика ingress
  • Возможные каскадные эффекты: давление на память узлов, вытеснение подов, нестабильность кластера в средах с ограниченными ресурсами
  • В худшем случае в мультитенантных кластерах: влияние на несвязанные пространства имён и рабочие нагрузки

Базовая оценка CVSS v3.1
6.5 Средний
Векторная строка
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Слабость
CWE-770: Выделение ресурсов без ограничений или регулирования

Авторы
Mohammed Idrees Banyamer – @banyamer_security (Иордания)

Затронутые версии

КомпонентУязвимые версииИсправленные версииWebhook включён по умолчанию?
ingress-nginx< 1.13.7≥ 1.13.7Нет
ingress-nginx (1.14.x)< 1.14.3≥ 1.14.3Нет

Примечание: Уязвимость проявляется только при явном включении функции validating admission webhook.

📊 Схема атаки PoC

root@kitploit:~
sequenceDiagram
    participant Attacker as Low-priv. Attacker<br>(inside / adjacent cluster)
    participant API as kube-apiserver
    participant WebhookConfig as ValidatingWebhookConfiguration<br>(ingress-nginx-admission)
    participant AdmissionSvc as ingress-nginx-admission<br>Service / Pod
    participant Controller as ingress-nginx Controller Process

    Note over Attacker,Controller: Attack prerequisites: webhook enabled + reachable endpoint

    Attacker->>API: 1. Create/Update large Ingress resource<br>OR direct POST to webhook endpoint
    API->>WebhookConfig: 2. Trigger admission review
    WebhookConfig->>AdmissionSvc: 3. Forward AdmissionReview v1 request<br>(very large JSON body)

    AdmissionSvc->>Controller: 4. Receive & begin parsing huge payload
    activate Controller
    Note right of Controller: No request body size limit in vulnerable versions
    Controller-->>Controller: 5. Allocate memory for large strings/objects<br>(heap grows massively → OOM imminent)
    Controller->>AdmissionSvc: 6. (Fails / hangs due to memory exhaustion)
    deactivate Controller

    Kubernetes->>AdmissionSvc: 7. kubelet detects memory limit breach
    Kubernetes->>AdmissionSvc: 8. OOMKill container
    AdmissionSvc-->>API: 9. Webhook timeout / connection refused
    API-->>Attacker: 10. Admission denied or timeout<br>(Ingress creation fails)

    Note over Attacker,Kubernetes: Result:
    Note over Attacker,Kubernetes: • ingress-nginx pod restarted / crashed
    Note over Attacker,Kubernetes: • Temporary loss of ingress validation
    Note over Attacker,Kubernetes: • Potential brief service disruption for new ingresses
    Note over Attacker,Kubernetes: • Possible node pressure in low-memory clusters

Эксплуатация – Примеры использования

Важно: Данную уязвимость следует демонстрировать только в изолированных лабораторных/тестовых кластерах с явного разрешения.
Использование её против производственных сред незаконно и может вызвать простои.

Рекомендуемый безопасный метод тестирования:

root@kitploit:~
# 1. Пробросьте порт admission-сервиса локально
kubectl port-forward svc/ingress-nginx-controller-admission \
  8443:443 -n ingress-nginx

# 2. Запустите PoC с увеличивающимися размерами нагрузки (начните с малого!)
python3 cve-2026-24514-Kubernetes.py https://localhost:8443/validate 25 --insecure

# 3. Отслеживайте память и статус подов в другом терминале
watch -n 2 'kubectl top pods -n ingress-nginx && kubectl get pods -n ingress-nginx'

# Более агрессивные примеры (используйте с осторожностью)
python3 cve-2026-24514-Kubernetes.py https://localhost:8443/validate 80 --insecure
python3 cve-2026-24514-Kubernetes.py https://localhost:8443/validate 150 --insecure --field-name enormousJunk

Реалистичные сценарии атаки:

  • Злоумышленник внутри кластера (скомпрометированный под / доступ разработчика) → прямой внутренний DNS-вызов
  • Открытый webhook-сервис из-за неправильной конфигурации (LoadBalancer / NodePort)
  • Социальная инженерия / атака через цепочку поставок с доставкой вредоносных манифестов Ingress с огромными аннотациями / полями

Рекомендации по смягчению и усилению защиты

  1. Немедленно обновитесь до ingress-nginx ≥ 1.13.7 или ≥ 1.14.3
  2. Если обновление задерживается:
    • Отключите validating admission webhook (--enable-validating-webhook=false)
    • Ограничьте сетевой доступ к admission-сервису с помощью NetworkPolicy
  3. Отслеживайте поды ingress-nginx на предмет аномального использования памяти / перезапусков
  4. Рассмотрите квоты ресурсов + лимиты памяти для пространства имён ingress-nginx
  5. Проведите аудит того, кто может получить доступ к внутренним конечным точкам webhook

Ссылки

  • Официальный issue (предположительно): https://github.com/kubernetes/ingress-nginx/issues/136680
  • Бюллетени безопасности ingress-nginx: https://kubernetes.github.io/ingress-nginx/security/
  • Репозиторий проекта: https://github.com/kubernetes/ingress-nginx
  • Запись CVE в NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-24514

Ответственное раскрытие и авторство PoC: Mohammed Idrees Banyamer (@banyamer_security)

Скачать инструмент