🇰🇷 한글 설명
Helm 3.1.0 이하 버전에서 `lookup` 함수가 `helm template` 실행 시에도 클러스터에 연결하여 정보를 조회하는 정보 노출 취약점이 발견되었습니다. 악의적인 차트 작성자가 이 함수를 사용하여 사용자의 클러스터 정보를 탈취할 수 있습니다. 이 문제는 Helm 3.2.0 버전에서 수정되었습니다.
💡 쉬운 설명
차트를 미리 보기만 하려고 했는데, 차트 안에 숨겨진 코드가 몰래 내 서버의 정보를 훔쳐볼 수 있는 문제입니다. 사용자가 모르는 사이에 클러스터 내부 정보가 외부로 유출될 위험이 있습니다.
🇺🇸 원문 (English)
Their is an information disclosure vulnerability in Helm from version 3.1.0 and before version 3.2.0. `lookup` is a Helm template function introduced in Helm v3. It is able to lookup resources in the cluster to check for the existence of specific resources and get details about them. This can be used as part of the process to render templates. The documented behavior of `helm template` states that it does not attach to a remote cluster. However, a the recently added `lookup` template function circumvents this restriction and connects to the cluster even during `helm template` and `helm install|update|delete|rollback --dry-run`. The user is not notified of this behavior. Running `helm template` should not make calls to a cluster. This is different from `install`, which is presumed to have access to a cluster in order to load resources into Kubernetes. Helm 2 is unaffected by this vulnerability. A malicious chart author could inject a `lookup` into a chart that, when rendered through `helm template`, performs unannounced lookups against the cluster a user's `KUBECONFIG` file points to. This information can then be disclosed via the output of `helm template`. This issue has been fixed in Helm 3.2.0
📍 영향받는 시스템
Helm version 3.1.0 and below (Helm 2 is not affected)
⚔️ 공격 벡터
악의적으로 작성된 Helm 차트를 `helm template` 또는 `--dry-run` 명령어로 실행하여 클러스터 정보 탈취
🛡️ 대응 방법
Helm 버전을 3.2.0 이상으로 업데이트
🔧 검증 코드
명령어 결과에 v3.0.x 또는 v3.1.x가 포함되어 있다면 취약한 버전이 설치된 상태입니다.
helm version --short | grep -E 'v3\.[0-1]\.'