🇰🇷 한글 설명
Parse Server 4.10.4 미만 버전에서 LiveQuery 페이로드에 세션 토큰이 포함되는 취약점이 발견되었습니다. Parse.User 클래스에 LiveQuery 구독이 설정된 경우, 사용자 가입 시 생성된 모든 세션 토큰이 방송될 수 있습니다.
💡 쉬운 설명
사용자가 회원가입을 할 때 생성되는 중요한 로그인 정보(세션 토큰)가 실시간 데이터 통신 과정에서 외부로 노출될 수 있는 문제입니다. 이 정보가 유출되면 해커가 다른 사용자의 계정을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to version 4.10.4, for regular (non-LiveQuery) queries, the session token is removed from the response, but for LiveQuery payloads it is currently not. If a user has a LiveQuery subscription on the `Parse.User` class, all session tokens created during user sign-ups will be broadcast as part of the LiveQuery payload. A patch in version 4.10.4 removes session tokens from the LiveQuery payload. As a workaround, set `user.acl(new Parse.ACL())` in a beforeSave trigger to make the user private already on sign-up.
📍 영향받는 시스템
Parse Server versions prior to 4.10.4
⚔️ 공격 벡터
LiveQuery를 통해 Parse.User 클래스의 데이터를 구독하여 세션 토큰을 가로채는 방식
🛡️ 대응 방법
Parse Server를 4.10.4 버전 이상으로 업데이트하거나, beforeSave 트리거에서 ACL을 설정하여 사용자를 비공개로 전환하십시오.
🔧 검증 코드
출력된 parse-server의 버전이 4.10.4 미만인지 확인하십시오.
npm list parse-server | grep parse-server