🇰🇷 한글 설명
Yoke의 Air Traffic Controller(ATC) 컴포넌트에서 발생하는 취약점으로, CR 생성/수정 권한을 가진 사용자가 악의적인 URL을 overrides.yoke.cd/flight 어노테이션을 통해 삽입할 경우 임의의 WASM 코드를 ATC 컨트롤러 컨텍스트에서 실행할 수 있다. 이로 인해 공격자는 임의의 Kubernetes 리소스를 생성하거나 클러스터-관리자 수준으로 권한을 상승시킬 수 있다.
💡 쉬운 설명
Yoke의 ATC 컴포넌트에서 발생하는 취약점으로, 악의적인 코드를 실행할 수 있다. 이는 시스템의 권한을 상승시킬 수 있다. Yoke 0.19.0 버전 이전에서 발생한다.
🇺🇸 원문 (English)
Yoke is a Helm-inspired infrastructure-as-code (IaC) package deployer. In 0.19.0 and earlier, a vulnerability exists in the Air Traffic Controller (ATC) component of Yoke. It allows users with CR create/update permissions to execute arbitrary WASM code in the ATC controller context by injecting a malicious URL through the overrides.yoke.cd/flight annotation. The ATC controller downloads and executes the WASM module without proper URL validation, enabling attackers to create arbitrary Kubernetes resources or potentially escalate privileges to cluster-admin level.
📍 영향받는 시스템
Yoke 0.19.0 및 이전 버전
⚔️ 공격 벡터
CR 생성/수정 권한을 가진 사용자가 악의적인 URL을 overrides.yoke.cd/flight 어노테이션을 통해 삽입
🛡️ 대응 방법
Yoke를 0.19.0 이후 버전으로 업그레이드하거나, ATC 컨트롤러에서 WASM 코드 실행을 제한
🔧 검증 코드
로컬 시스템에서 Python을 실행하고, Yoke 패키지의 버전을 확인한다. Yoke 버전이 0.19.0 또는 이전 버전인 경우 취약한 것으로 판단한다. Python 및 pkg_resources 모듈이 설치되어 있어야 한다.
python -c "import pkg_resources; print('Yoke 버전:', pkg_resources.get_distribution('yoke').version); if pkg_resources.get_distribution('yoke').version <= '0.19.0': print({'result': '취약', 'reason': 'Yoke 버전이 0.19.0 또는 이전 버전입니다.'}); else: print({'result': '양호', 'reason': 'Yoke 버전이 0.19.0 이후 버전입니다.'})"