🇰🇷 한글 설명
Directus의 GraphQL 구독 기능에서 권한 필터가 제대로 검증되지 않는 취약점입니다. 이로 인해 권한이 없는 사용자가 허용되지 않은 데이터 변경 이벤트에 접근할 수 있으며, 특히 directus_users 컬렉션을 통해 타 사용자의 정보 변경 사항을 감지할 수 있습니다.
💡 쉬운 설명
데이터 관리 도구인 Directus에서 보안 설정이 제대로 작동하지 않아, 남의 정보를 몰래 지켜볼 수 있는 문제입니다. 권한이 없는 사람이 다른 사용자의 정보가 바뀔 때마다 실시간 알림을 받을 수 있습니다.
🇺🇸 원문 (English)
Directus is a real-time API and App dashboard for managing SQL database content. Starting in version 10.3.0 and prior to version 10.5.0, the permission filters (i.e. `user_created IS $CURRENT_USER`) are not properly checked when using GraphQL subscription resulting in unauthorized users getting event on their subscription which they should not be receiving according to the permissions. This can be any collection but out-of-the box the `directus_users` collection is configured with such a permissions filter allowing you to get updates for other users when changes happen. Version 10.5.0 contains a patch. As a workaround, disable GraphQL subscriptions.
📍 영향받는 시스템
Directus version 10.3.0 and prior to 10.5.0
⚔️ 공격 벡터
GraphQL subscription을 이용한 권한 우회 및 비인가 데이터 이벤트 수신
🛡️ 대응 방법
Directus를 10.5.0 이상 버전으로 업데이트하거나, 임시 조치로 GraphQL subscriptions 기능을 비활성화하십시오.
🔧 검증 코드
명령어 결과에 10.3.x 또는 10.4.x 버전이 포함되어 있다면 해당 취약점에 노출된 상태입니다.
curl -s http://<target-ip>/version | grep -E '"version": "10\.[3-4]\.'