🇰🇷 한글 설명
Apache YuniKorn 1.9.0 및 이전 버전에서 워크로드 업데이트 시 레이블 및 사용자 주석 검증이 누락되어 보안 검사를 우회할 수 있는 취약점이 발견되었습니다. 공격자는 이를 통해 임의의 사용자 정보를 주석으로 지정하거나 애플리케이션 ID를 변경하여 권한이 없는 큐에 접근하거나 할당량 제한을 우회할 수 있습니다.
💡 쉬운 설명
시스템의 설정 정보를 수정할 때 보안 확인 절차를 건너뛸 수 있는 허점이 있습니다. 이를 악용하면 허가되지 않은 자원을 사용하거나 사용량 제한을 속여서 시스템에 부담을 줄 수 있습니다.
🇺🇸 원문 (English)
Apache YuniKorn 1.9.0 and earlier does not implement label and user annotation checks for workload UPDATE action bypassing all checks. Workloads in YuniKorn are defined as the following Kubernetes objects: "deployments", "replicasets", "statefulsets", "daemonsets", "jobs", "cronjobs". The CREATE action correctly enforces the checks for all object types.
The bypass allows any user to specify an arbitrary user info annotation. The same bypass also allows changing the application ID for the workload. The combination of the two applied in one UPDATE could allow access to a queue that the user normally would not have access to. Quota usage for the queue might be impacted if the application runs in the incorrect queue. User based quota enforcement is also based on the user annotation. User quota tracking could be side stepped even if the application runs in the correct queue.
Users are recommended to upgrade to version 1.10.0, which fixes this issue.
📍 영향받는 시스템
Apache YuniKorn 1.9.0 및 그 이전 버전
⚔️ 공격 벡터
워크로드(deployments, jobs 등)의 UPDATE 액션을 통해 임의의 사용자 주석 및 애플리케이션 ID를 삽입하여 권한 및 할당량 검사 우회
🛡️ 대응 방법
Apache YuniKorn을 취약점이 해결된 1.10.0 버전 이상으로 업그레이드하십시오.
🔧 검증 코드
출력된 버전 번호가 1.10.0 미만이면 취약한 상태이며, 1.10.0 이상이면 안전합니다.
python3 -c 'import pkg_resources; print(pkg_resources.get_distribution("apache-yunikorn").version)' 2>/dev/null || echo 'not installed'