Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-24514-Kubernetes-Dos — Exploit de prueba de concepto para CVE-2026-24514, una denegación de servicio por agotamiento de memoria en el webhook de admisión de validación de ingress-nginx, que permite a atacantes con privilegios bajos bloquear los pods del controlador mediante solicitudes AdmissionReview de gran tamaño. | Kitploit
Herramientas/GitHubGitHub/mbanyamer/cve-2026-24514-kubernetes-dos
Seguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónSeguridad WebSeguridad en la Nube
GitHubmbanyamer/cve-2026-24514-kubernetes-dos

cve-2026-24514-Kubernetes-Dos

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Exploit de prueba de concepto para CVE-2026-24514, una denegación de servicio por agotamiento de memoria en el webhook de admisión de validación de ingress-nginx, que permite a atacantes con privilegios bajos bloquear los pods del controlador mediante solicitudes AdmissionReview de gran tamaño.

hace 6 mesesAún no revisado
Compartir

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

CVE-2026-24514 – Agotamiento crítico de memoria en el webhook de admisión de validación de ingress-nginx

Vulnerabilidad de denegación de servicio remota no autenticada / con privilegios bajos que permite a los atacantes bloquear los pods del controlador ingress-nginx mediante solicitudes AdmissionReview de tamaño excesivo.

Resumen e impacto empresarial

El webhook de admisión de validación de ingress-nginx (cuando está habilitado) no impone límites razonables al tamaño de los objetos AdmissionReview entrantes.
Un atacante que pueda alcanzar el endpoint del webhook — incluso con solo privilegios bajos — puede enviar cargas útiles JSON extremadamente grandes, forzando al proceso del controlador a asignar cantidades masivas de memoria.

Las consecuencias incluyen:

  • Terminación inmediata por OOM (OOMKilled) de los pods de ingress-nginx
  • Pérdida de la validación de admisión para recursos Ingress nuevos/modificados
  • Interrupción temporal o prolongada del enrutamiento de tráfico de ingress nuevo
  • Posibles efectos en cascada: presión de memoria en los nodos, desalojo de pods, inestabilidad del clúster en entornos con recursos limitados
  • En el peor de los casos en clústeres multi-tenant: impacto en namespaces y cargas de trabajo no relacionados

Puntuación base CVSS v3.1
6.5 Media
Cadena de vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Debilidad
CWE-770: Asignación de recursos sin límites ni limitación de velocidad

Créditos
Mohammed Idrees Banyamer – @banyamer_security (Jordania)

Versiones afectadas

ComponenteVersiones vulnerablesVersiones corregidas¿Webhook habilitado por defecto?
ingress-nginx< 1.13.7≥ 1.13.7No
ingress-nginx (1.14.x)< 1.14.3≥ 1.14.3No

Nota: La vulnerabilidad solo se manifiesta cuando la función de webhook de admisión de validación está explícitamente habilitada.

📊 Flujo del ataque PoC

root@kitploit:~
sequenceDiagram
    participant Attacker as Atacante con privilegios bajos<br>(dentro / adyacente al clúster)
    participant API as kube-apiserver
    participant WebhookConfig as ValidatingWebhookConfiguration<br>(ingress-nginx-admission)
    participant AdmissionSvc as Servicio / Pod<br>ingress-nginx-admission
    participant Controller as Proceso del controlador ingress-nginx

    Note over Attacker,Controller: Requisitos previos del ataque: webhook habilitado + endpoint accesible

    Attacker->>API: 1. Crear/Actualizar recurso Ingress grande<br>O POST directo al endpoint del webhook
    API->>WebhookConfig: 2. Activar revisión de admisión
    WebhookConfig->>AdmissionSvc: 3. Reenviar solicitud AdmissionReview v1<br>(cuerpo JSON muy grande)

    AdmissionSvc->>Controller: 4. Recibir y comenzar a analizar la carga útil enorme
    activate Controller
    Note right of Controller: Sin límite de tamaño del cuerpo de la solicitud en versiones vulnerables
    Controller-->>Controller: 5. Asignar memoria para cadenas/objetos grandes<br>(el heap crece masivamente → OOM inminente)
    Controller->>AdmissionSvc: 6. (Falla / se cuelga debido al agotamiento de memoria)
    deactivate Controller

    Kubernetes->>AdmissionSvc: 7. kubelet detecta la violación del límite de memoria
    Kubernetes->>AdmissionSvc: 8. OOMKill del contenedor
    AdmissionSvc-->>API: 9. Tiempo de espera del webhook / conexión rechazada
    API-->>Attacker: 10. Admisión denegada o tiempo de espera<br>(la creación de Ingress falla)

    Note over Attacker,Kubernetes: Resultado:
    Note over Attacker,Kubernetes: • Pod de ingress-nginx reiniciado / bloqueado
    Note over Attacker,Kubernetes: • Pérdida temporal de la validación de ingress
    Note over Attacker,Kubernetes: • Posible interrupción breve del servicio para nuevos ingresses
    Note over Attacker,Kubernetes: • Posible presión en los nodos en clústeres con poca memoria

Explotación – Ejemplos de uso

Importante: Esta vulnerabilidad solo debe demostrarse en clústeres de laboratorio/prueba aislados con permiso explícito.
Ejecutarla contra entornos de producción es ilegal y puede causar interrupciones del servicio.

Método de prueba seguro recomendado:

root@kitploit:~
# 1. Reenviar el puerto del servicio de admisión localmente
kubectl port-forward svc/ingress-nginx-controller-admission \
  8443:443 -n ingress-nginx

# 2. Ejecutar el PoC con tamaños de carga útil crecientes (¡empieza pequeño!)
python3 cve-2026-24514-Kubernetes.py https://localhost:8443/validate 25 --insecure

# 3. Supervisar la memoria y el estado de los pods en otra terminal
watch -n 2 'kubectl top pods -n ingress-nginx && kubectl get pods -n ingress-nginx'

# Ejemplos más agresivos (usar con precaución)
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

Escenarios de ataque realistas:

  • Atacante dentro del clúster (pod comprometido / acceso de desarrollador) → llamada DNS interna directa
  • Servicio de webhook expuesto debido a una mala configuración (LoadBalancer / NodePort)
  • Ingeniería social / ataque a la cadena de suministro que entrega manifiestos Ingress maliciosos con anotaciones / campos enormes

Mitigación y recomendaciones de endurecimiento

  1. Actualice inmediatamente a ingress-nginx ≥ 1.13.7 o ≥ 1.14.3
  2. Si la actualización se retrasa:
    • Deshabilite el webhook de admisión de validación (--enable-validating-webhook=false)
    • Restrinja el acceso de red al servicio de admisión mediante NetworkPolicy
  3. Supervise los pods de ingress-nginx para detectar uso anormal de memoria / reinicios
  4. Considere cuotas de recursos + límites de memoria en el namespace de ingress-nginx
  5. Audite quién puede acceder a los endpoints internos del webhook

Referencias

  • Problema oficial (supuesto): https://github.com/kubernetes/ingress-nginx/issues/136680
  • Avisos de seguridad de ingress-nginx: https://kubernetes.github.io/ingress-nginx/security/
  • Repositorio del proyecto: https://github.com/kubernetes/ingress-nginx
  • Entrada CVE de NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-24514

Divulgación responsable y crédito del PoC: Mohammed Idrees Banyamer (@banyamer_security)

Descargar herramienta