🇰🇷 한글 설명
Apache Airflow의 /assets/events API에서 호출자의 권한에 따른 필터링이 누락되어, 자산 읽기 권한이 있는 인증된 사용자가 권한이 없는 다른 DAG의 자산 이벤트를 열람할 수 있는 취약점입니다. 이로 인해 소스 DAG ID, 작업 ID, 실행 ID 및 이벤트 타임스탬프와 같은 민감한 정보가 노출될 수 있으며, 페이지네이션 기능을 통해 숨겨진 DAG의 존재 여부까지 파악이 가능합니다.
💡 쉬운 설명
로그인한 사용자가 자신이 볼 권한이 없는 다른 팀의 작업 기록이나 목록을 몰래 훔쳐볼 수 있는 보안 구멍이 발견되었습니다. 이를 통해 시스템 내부의 작업 구조와 상세 정보를 파악할 수 있어 정보 유출의 위험이 있습니다.
🇺🇸 원문 (English)
Apache Airflow's `/assets/events` API returned asset events for every Dag in the deployment, with no filter restricting them to the Dags the caller is authorized to read. Any authenticated user holding asset-read access could therefore enumerate asset events — including the source Dag ID, task ID, run ID and event timestamps — for Dags they have no permission to see. Because the filter was also absent from the count query, `total_entries` and pagination disclosed the existence of hidden Dags even without inspecting individual rows. Deployments are affected whenever per-Dag access control is used to separate teams or tenants; no special configuration is required. Upgrade to apache-airflow 3.3.2 or later.
📍 영향받는 시스템
per-Dag access control을 사용하는 모든 Apache Airflow 배포 환경
⚔️ 공격 벡터
인증된 사용자가 권한이 없는 DAG의 자산 이벤트를 요청하는 API 호출을 통해 정보 열람
🛡️ 대응 방법
Apache Airflow 버전을 3.3.2 이상으로 업그레이드하십시오.
🔧 검증 코드
출력된 버전이 3.3.2 미만이면 취약한 버전이므로 업데이트가 필요합니다.
pip show apache-airflow | grep Version