Kubernetes의 NGINX Ingress 컨트롤러에는 패치되지 않은 심각도가 높은 보안 취약점 3개가 존재하며, 이로 인해 공격자가 클러스터에서 기밀 자격 증명을 훔칠 가능성이 있습니다.
이러한 취약점은 다음과 같습니다.
CVE-2022-4886(CVSS 점수: 8.8) - Ingress-nginx 컨트롤러의 자격 증명을 얻기 위해 Ingress-nginx 경로 삭제를 우회할 수 있습니다.
CVE-2023-5043(CVSS 점수: 7.6) - Ingress-nginx 주석 주입으로 인해 임의 명령 실행이 발생함
CVE-2023-5044(CVSS 점수: 7.6) - nginx.ingress.kubernetes.io/permanent-redirect 주석을 통한 코드 주입
Kubernetes 보안 플랫폼 ARMO의 CTO이자 공동 창립자인 Ben Hirschberg는 CVE-2023-5043 및 CVE-2023-5044에 대해 다음과 같이 말했습니다. "이러한 취약점을 통해 공격자는 Ingress 개체 구성을 제어하고 이를 통해 클러스터에서 기밀 자격 증명을 훔칠 수 있습니다."
이러한 취약점을 성공적으로 악용하면 공격자가 Ingress 컨트롤러 프로세스에 임의 코드를 삽입하고 중요한 데이터에 대한 무단 액세스를 얻을 수 있습니다.
사이버 보안
CVE-2022-4886은 "spec.rules[].http.paths[].path" 필드의 유효성 검사가 부족하여 Ingress 개체에 대한 액세스 권한이 있는 공격자가 Ingress 컨트롤러에서 Kubernetes API 자격 증명을 훔칠 수 있기 때문에 발생합니다.
Hirschberg는 다음과 같이 언급했습니다. "Ingress 개체에서 운영자는 어떤 수신 HTTP 경로가 어떤 내부 경로로 라우팅되는지 정의할 수 있습니다. 취약한 애플리케이션은 서비스 계정 토큰이 포함된 내부 경로를 가리킬 수 있는 내부 경로의 유효성을 제대로 확인하지 못합니다. . 파일에서 토큰은 API 서버에 대해 인증하기 위한 클라이언트의 자격 증명입니다."
수정 사항이 없을 경우 소프트웨어 관리자는 "strict-validate-path-type" 옵션을 활성화하고 --enable-annotation-validation 플래그를 설정하여 잘못된 문자가 포함된 Ingress 객체 생성을 방지하는 등의 완화 조치를 발표했습니다. 추가 제한사항을 적용하세요.
ARMO는 NGINX를 버전 1.19로 업데이트하고 “–enable-annotation-validation” 명령줄 구성을 추가하면 CVE-2023-5043 및 CVE-2023-5044를 해결할 수 있다고 밝혔습니다.
Hirschberg는 "비록 서로 다른 문제를 지적하지만 이러한 모든 취약점은 동일한 근본적인 문제에서 비롯됩니다"라고 말했습니다.
"수신 컨트롤러는 TLS 비밀 및 Kubernetes API에 액세스할 수 있도록 설계되었기 때문에 권한 범위가 높은 워크로드가 됩니다. 또한 일반적으로 공용 인터넷 연결 구성 요소이므로 이를 통한 수신에 매우 취약합니다. 외부 트래픽이 다음에 미치는 영향 클러스터.”
원문, 저자: 최고보안책임자, 재인쇄할 경우 출처를 밝혀주세요: https://cncso.com/kr/security-vulnerability-found-in-kubernetes-nginx-controller.html