🔍 CVE-2020-15127

7.5
CVSS Score
HIGH
2020-08-05
2026-06-17 02:56
✅ 완료

🇰🇷 한글 설명

Contour 1.7.0 미만 버전에서 공격자가 Envoy 인스턴스를 강제로 종료하여 전체 인그레스 데이터 평면을 마비시킬 수 있는 취약점입니다. Envoy의 8090 포트에 있는 /shutdown 엔드포인트에 인증 절차가 없어, 네트워크 접근이 가능한 공격자가 GET 요청을 통해 서비스를 중단시킬 수 있습니다.

💡 쉬운 설명

서비스로 들어오는 입구를 관리하는 프로그램의 '종료 버튼'이 아무나 누를 수 있게 노출되어 있는 상태입니다. 공격자가 이 버튼을 누르면 웹사이트 접속이 완전히 끊길 수 있습니다.

🇺🇸 원문 (English)

In Contour ( Ingress controller for Kubernetes) before version 1.7.0, a bad actor can shut down all instances of Envoy, essentially killing the entire ingress data plane. GET requests to /shutdown on port 8090 of the Envoy pod initiate Envoy's shutdown procedure. The shutdown procedure includes flipping the readiness endpoint to false, which removes Envoy from the routing pool. When running Envoy (For example on the host network, pod spec hostNetwork=true), the shutdown manager's endpoint is accessible to anyone on the network that can reach the Kubernetes node that's running Envoy. There is no authentication in place that prevents a rogue actor on the network from shutting down Envoy via the shutdown manager endpoint. Successful exploitation of this issue will lead to bad actors shutting down all instances of Envoy, essentially killing the entire ingress data plane. This is fixed in version 1.7.0.

📍 영향받는 시스템

Contour (Kubernetes Ingress controller) version < 1.7.0

⚔️ 공격 벡터

네트워크를 통해 Envoy Pod의 8090 포트로 /shutdown 경로에 GET 요청 전송

🛡️ 대응 방법

Contour를 1.7.0 이상의 버전으로 업데이트

🔧 검증 코드

출력된 Contour 이미지 버전이 1.7.0 미만인지 확인

Shell / Script
kubectl get deployment contour -n contour -o jsonpath='{.spec.template.spec.containers[*].image}' | grep -oE 'contour:[0-9]+\.[0-9]+\.[0-9]+'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Kubernetes