🇰🇷 한글 설명
Skipper 0.26.22 미만 버전에서 Kubernetes admission 엔드포인트로 요청 본문을 전달할 때 크기 제한 없이 io.ReadAll을 사용하여 메모리를 할당하는 취약점이 존재합니다. 클러스터 네트워크 접근 권한과 유효한 인증서가 있는 공격자가 매우 큰 요청을 보내면 메모리 부족(OOM)으로 인해 Skipper 프로세스가 종료될 수 있습니다. 이 문제는 0.26.22 버전에서 수정되었습니다.
💡 쉬운 설명
공격자가 아주 큰 데이터를 보내서 서버의 메모리를 가득 채워 시스템을 멈추게 만들 수 있는 문제입니다. 이로 인해 서비스 연결 기능이 일시적으로 중단될 수 있습니다.
🇺🇸 원문 (English)
Skipper is an HTTP router and reverse proxy for service composition. Prior to 0.26.22, Handler in dataclients/kubernetes/admission/admission.go passes the body of requests to the Kubernetes admission endpoint at :9443/admission directly to io.ReadAll(r.Body) without a size limit. An attacker with in-cluster network access and a valid Kubernetes client certificate can send a very large body that causes unbounded memory allocation and an out-of-memory termination of the Skipper process. The disruption is limited to Ingress and RouteGroup admission rather than pod creation or unrelated admission controllers, and Kubernetes normally restarts the process. This issue is fixed in version 0.26.22.
📍 영향받는 시스템
Skipper version < 0.26.22
⚔️ 공격 벡터
클러스터 내부 네트워크 접근 권한 및 유효한 Kubernetes 클라이언트 인증서를 보유한 공격자가 대용량 HTTP 요청 전송
🛡️ 대응 방법
Skipper를 0.26.22 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 0.26.22보다 낮으면 취약한 상태입니다.
skipper --version 2>/dev/null | grep -E '0\.[0-9]+\.[0-9]+'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
💻 영향받는 소프트웨어
Cisco Crosswork Network Controller