🇰🇷 한글 설명
Parse Server의 LiveQuery 구독 시 클래스 수준 권한(CLP)이 제대로 적용되지 않는 취약점입니다. 인증되지 않았거나 권한이 없는 클라이언트가 모든 LiveQuery 활성화 클래스를 구독하여 CLP 제한을 우회하고 실시간 데이터를 탈취할 수 있습니다.
💡 쉬운 설명
데이터 접근 권한을 설정해 두었음에도 불구하고, 특정 기능을 통해 누구나 실시간으로 모든 데이터를 몰래 훔쳐볼 수 있는 보안 구멍이 발견되었습니다. 이로 인해 보호되어야 할 민감한 정보가 권한 없는 사용자에게 실시간으로 유출될 수 있습니다.
🇺🇸 원문 (English)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.5.2-alpha.3 and 8.6.16, class-level permissions (CLP) are not enforced for LiveQuery subscriptions. An unauthenticated or unauthorized client can subscribe to any LiveQuery-enabled class and receive real-time events for all objects, regardless of CLP restrictions. All Parse Server deployments that use LiveQuery with class-level permissions are affected. Data intended to be restricted by CLP is leaked to unauthorized subscribers in real time. This vulnerability is fixed in 9.5.2-alpha.3 and 8.6.16.
📍 영향받는 시스템
Parse Server 9.5.2-alpha.3 및 8.6.16 미만 버전
⚔️ 공격 벡터
인증되지 않은 클라이언트가 LiveQuery 구독을 통해 CLP 제한을 우회하여 실시간 데이터 이벤트 수신
🛡️ 대응 방법
Parse Server를 9.5.2-alpha.3 또는 8.6.16 이상의 버전으로 업데이트
🔧 검증 코드
출력된 버전이 9.5.2-alpha.3 또는 8.6.16보다 낮은지 확인하여 취약 여부를 판단합니다.
npm list parse-server | grep -E 'parse-server@([0-9]+\.[0-9]+\.[0-9]+)'