Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-24514-Kubernetes-Dos — CVE-2026-24514에 대한 개념 증명 익스플로잇으로, ingress-nginx 검증 어드미션 웹훅의 메모리 고갈 서비스 거부(DoS) 취약점으로, 낮은 권한의 공격자가 과도하게 큰 AdmissionReview 요청을 통해 컨트롤러 파드를 충돌시킬 수 있습니다. | Kitploit
도구/GitHubGitHub/mbanyamer/cve-2026-24514-kubernetes-dos
Container SecurityVulnerability AnalysisExploitationWeb SecurityCloud Security
GitHubmbanyamer/cve-2026-24514-kubernetes-dos

cve-2026-24514-Kubernetes-Dos

CVE-2026-24514에 대한 개념 증명 익스플로잇으로, ingress-nginx 검증 어드미션 웹훅의 메모리 고갈 서비스 거부(DoS) 취약점으로, 낮은 권한의 공격자가 과도하게 큰 AdmissionReview 요청을 통해 컨트롤러 파드를 충돌시킬 수 있습니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
6개월 전아직 검토되지 않음

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

CVE-2026-24514 – ingress-nginx 검증 어드미션 웹훅의 심각한 메모리 고갈 취약점

인증되지 않은 / 낮은 권한의 원격 서비스 거부(DoS) 취약점으로, 공격자가 과도하게 큰 AdmissionReview 요청을 전송하여 ingress-nginx 컨트롤러 파드를 충돌시킬 수 있습니다.

개요 및 비즈니스 영향

ingress-nginx 검증 어드미션 웹훅(활성화된 경우)은 수신되는 AdmissionReview 객체의 크기에 대해 합리적인 제한을 적용하지 않습니다.
웹훅 엔드포인트에 도달할 수 있는 공격자는 낮은 권한만으로도 매우 큰 JSON 페이로드를 제출하여 컨트롤러 프로세스가 대량의 메모리를 할당하도록 강제할 수 있습니다.

결과적으로 발생하는 영향:

  • ingress-nginx 파드의 즉각적인 OOM 종료(OOMKilled)
  • 신규/수정된 Ingress 리소스에 대한 어드미션 검증 손실
  • 신규 인그레스 트래픽 라우팅의 일시적 또는 장기간 중단
  • 잠재적 연쇄 효과: 노드 메모리 압박, 파드 축출, 리소스가 제한된 환경에서의 클러스터 불안정
  • 최악의 경우 멀티 테넌트 클러스터: 관련 없는 네임스페이스 및 워크로드에 대한 영향

CVSS v3.1 기본 점수
6.5 Medium
벡터 문자열
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 (요르단)

영향을 받는 버전

구성 요소취약한 버전수정된 버전웹훅 기본 활성화 여부?
ingress-nginx< 1.13.7≥ 1.13.7아니요
ingress-nginx (1.14.x)< 1.14.3≥ 1.14.3아니요

참고: 이 취약점은 검증 어드미션 웹훅 기능이 명시적으로 활성화된 경우에만 발생합니다.

📊 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. 어드미션 서비스를 로컬로 포트 포워딩
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 직접 호출
  • 잘못된 구성으로 인해 노출된 웹훅 서비스(LoadBalancer / NodePort)
  • 대규모 주석/필드가 포함된 악성 Ingress 매니페스트를 전달하는 사회공학 / 공급망 공격

완화 및 강화 권장 사항

  1. 즉시 업그레이드하여 ingress-nginx ≥ 1.13.7 또는 ≥ 1.14.3으로 전환
  2. 업그레이드가 지연되는 경우:
    • 검증 어드미션 웹훅 비활성화 (--enable-validating-webhook=false)
    • NetworkPolicy를 사용하여 어드미션 서비스에 대한 네트워크 접근 제한
  3. ingress-nginx 파드의 비정상적인 메모리 사용량 / 재시작 모니터링
  4. ingress-nginx 네임스페이스에 리소스 쿼터 + 메모리 제한 적용 고려
  5. 내부 웹훅 엔드포인트에 접근할 수 있는 사용자 감사

참고 자료

  • 공식 이슈(가정): https://github.com/kubernetes/ingress-nginx/issues/136680
  • ingress-nginx 보안 권고: https://kubernetes.github.io/ingress-nginx/security/
  • 프로젝트 저장소: https://github.com/kubernetes/ingress-nginx
  • NVD CVE 항목: https://nvd.nist.gov/vuln/detail/CVE-2026-24514

책임 있는 공개 및 PoC 크레딧: Mohammed Idrees Banyamer (@banyamer_security)

도구 다운로드