🔍 CVE-2024-54151

7.5
CVSS Score
HIGH
2024-12-09
2026-06-17 08:09
✅ 완료

🇰🇷 한글 설명

Directus 11.0.0 미만 버전에서 WebSocket 인증 설정을 'public'으로 설정할 경우, 인증되지 않은 사용자가 관리자 권한으로 모든 CRUD 및 구독 작업을 수행할 수 있는 취약점이 존재합니다. 이 취약점은 권한 설정을 무시하고 모든 컬렉션에 접근할 수 있게 하여 데이터 유출 및 변조를 초래할 수 있습니다.

💡 쉬운 설명

로그인하지 않은 외부인이 관리자처럼 데이터베이스의 모든 내용을 마음대로 읽거나 수정할 수 있는 보안 구멍이 발견되었습니다. 특정 설정이 켜져 있을 때 누구나 데이터베이스의 주인 행세를 할 수 있는 위험한 상태입니다.

🇺🇸 원문 (English)

Directus is a real-time API and App dashboard for managing SQL database content. Starting in version 11.0.0 and prior to version 11.3.0, when setting `WEBSOCKETS_GRAPHQL_AUTH` or `WEBSOCKETS_REST_AUTH` to "public", an unauthenticated user is able to do any of the supported operations (CRUD, subscriptions) with full admin privileges. This impacts any Directus instance that has either `WEBSOCKETS_GRAPHQL_AUTH` or `WEBSOCKETS_REST_AUTH` set to `public` allowing unauthenticated users to subscribe for changes on any collection or do REST CRUD operations on user defined collections ignoring permissions. Version 11.3.0 fixes the issue.

📍 영향받는 시스템

Directus version 11.0.0 to 11.2.x (where WEBSOCKETS_GRAPHQL_AUTH or WEBSOCKETS_REST_AUTH is set to 'public')

⚔️ 공격 벡터

인증되지 않은 사용자가 WebSocket을 통해 REST 또는 GraphQL 요청을 보내 권한 검사를 우회하여 공격

🛡️ 대응 방법

Directus를 취약점이 해결된 버전인 11.3.0 이상으로 즉시 업데이트하십시오.

🔧 검증 코드

출력된 버전 정보가 11.3.0 미만인 경우 해당 취약점에 노출된 상태입니다.

Shell / Script
curl -s http://<target-ip>/version | grep -E '"version": "(1[0-1]\.[0-2]\.[0-9]|[1-1][0-2]\.[0-2]\.[0-9])"'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N