🇰🇷 한글 설명
cert-manager는 Kubernetes 클러스터에서 인증서와 인증서 발급자를 리소스 유형으로 추가하여 인증서를 얻고, 갱신하고, 사용하는 과정을 간소화합니다. 그러나 1.18.0부터 1.18.5 이전 버전과 1.19.0부터 1.19.3 이전 버전에서 cert-manager-controller는 ACME DNS-01 처리 중에 DNS 조회를 수행합니다. 기본적으로 이러한 조회는 표준 비암호화 DNS를 사용합니다. 공격자가 cert-manager-controller 파드의 DNS 트래픽을 가로채고 수정할 수 있다면, cert-manager의 DNS 캐시에 조작된 항목을 삽입할 수 있습니다. 이 항목에 접근하면 패닉이 발생하여 cert-manager 컨트롤러의 서비스 거부(DoS)가 발생할 수 있습니다.
💡 쉬운 설명
cert-manager의 취약점으로 인해 공격자가 DNS 트래픽을 가로채고 수정할 수 있습니다. 이렇게 하면 cert-manager 컨트롤러가 비정상적으로 종료되어 서비스가 중단될 수 있습니다. 이는 cert-manager의 버전이 낮을 때 발생할 수 있습니다.
🇺🇸 원문 (English)
cert-manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates. In versions from 1.18.0 to before 1.18.5 and from 1.19.0 to before 1.19.3, the cert-manager-controller performs DNS lookups during ACME DNS-01 processing (for zone discovery and propagation self-checks). By default, these lookups use standard unencrypted DNS. An attacker who can intercept and modify DNS traffic from the cert-manager-controller pod can insert a crafted entry into cert-manager's DNS cache. Accessing this entry will trigger a panic, resulting in denial‑of‑service (DoS) of the cert-manager controller. The issue can also be exploited if the authoritative DNS server for the domain being validated is controlled by a malicious actor. This issue has been patched in versions 1.18.5 and 1.19.3.
📍 영향받는 시스템
cert-manager 버전 1.18.0부터 1.18.5 이전, 1.19.0부터 1.19.3 이전
⚔️ 공격 벡터
DNS 트래픽 가로채기 및 수정
🛡️ 대응 방법
cert-manager를 버전 1.18.5 또는 1.19.3 이상으로 업그레이드하세요.
🔧 검증 코드
로컬 시스템에서 Python이 설치되어 있는지 확인하세요. 이후 제공된 Python 코드를 실행하여 cert-manager의 버전을 확인하세요. 버전이 1.18.5 또는 1.19.3 미만일 경우, 취약합니다.
python -c "import pkg_resources; print(pkg_resources.get_distribution('cert-manager').version)"