🇰🇷 한글 설명
Directus REST API에서 권한이 없는 컬렉션에 접근할 때와 존재하지 않는 컬렉션에 접근할 때의 에러 메시지가 서로 다르게 나타나는 정보 누출 취약점이 발견되었습니다. 이로 인해 권한이 없는 사용자도 특정 컬렉션의 존재 여부를 파악할 수 있습니다. Directus 11.13.0 미만 버전이 이 영향을 받습니다.
💡 쉬운 설명
해커가 특정 데이터 저장소의 이름을 입력했을 때, '권한이 없다'는 메시지가 나오는지 '없다'는 메시지가 나오는지에 따라 데이터의 존재를 알아낼 수 있는 문제입니다. 이는 마치 문이 잠겨 있는지, 아니면 아예 문 자체가 없는지를 확인하여 건물의 구조를 파악하는 것과 같습니다.
🇺🇸 원문 (English)
Directus is a real-time API and App dashboard for managing SQL database content. An observable difference in error messaging was found in the Directus REST API in versions of Directus prior to version 11.13.0. The `/items/{collection}` API returns different error messages for two cases: when a user tries to access an existing collection which they are not authorized to access, and when user tries to access a non-existing collection. The two differing error messages leak the existence of collections to users which are not authorized to access these collections. Version 11.13.0 fixes the issue.
📍 영향받는 시스템
Directus versions prior to 11.13.0
⚔️ 공격 벡터
REST API(/items/{collection})를 통한 에러 메시지 차이 분석 (Side-channel information leakage)
🛡️ 대응 방법
Directus를 11.13.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 11.13.0 미만이면 취약한 상태이며, 11.13.0 이상이면 안전합니다.
curl -s -I http://<directus-url>/version | grep -i 'version'