무슨 일이 있었나
Google ADK Python FileArtifactService는 root/apps/{app_name}/users/{user_id}/... 대신 root/users/{user_id}/... 경로를 구성하여 리소스를 잘못된 범위에 노출합니다 (CWE-668). 2.6.0의 부분적 범위 변경은 2.7.0/1.39.1에서 폐쇄될 때까지 읽기/삭제에 대한 레거시 폴백을 남겼습니다.
왜 중요한가
에이전트 아티팩트는 종종 민감한 상태, 자격 증명 또는 중간 추론을 포함합니다. 교차 애플리케이션 아티팩트 접근 결함은 공유 에이전트 호스트에서 한 에이전트/애플리케이션이 다른 에이전트의 아티팩트를 읽거나 덮어쓸 수 있게 하여 다른 에이전트의 상태 변조를 가능하게 합니다.
공격 경로
FileArtifactService는 공개 API 메서드에서 app_name을 수락했지만 디스크 경로를 구성할 때 이를 생략하여 한 애플리케이션의 호출자가 루트 디렉터리와 동일한 user_id/session_id를 공유하는 다른 애플리케이션에 속한 아티팩트를 나열, 읽기, 덮어쓰기 또는 삭제할 수 있습니다.
영향받는 시스템
google-adk >= 1.19.0, < 1.39.1 및 >= 2.0.0a1, < 2.7.0
완화 방안
앱별 경로 범위를 적용하고 레거시 root/users/{user_id} 폴백을 제거하는 google-adk 1.39.1 (1.x 백포트) 또는 2.7.0으로 업그레이드하십시오.