🇰🇷 한글 설명
Parse Server 8.6.106 미만 및 9.0.0~9.10.5-alpha.7 미만 버전은 null 또는 undefined 값을 가진 점(dot) 표기법 키를 저장된 객체 생성 시 잘못 처리합니다. 이로 인해 데이터는 저장되지만 오류가 반환되며, afterSave 트리거와 LiveQuery 이벤트가 건너뛰어집니다. 쓰기 권한이 있는 클라이언트는 이를 악용해 감사 로깅, 알림, 파생 데이터 갱신을 우회할 수 있습니다.
💡 쉬운 설명
Parse Server에서 특정 형태의 데이터 저장 시 실제로는 저장되지만 오류가 표시되고 후속 처리(알림, 기록)는 실행되지 않습니다. 공격자는 이 틈을 이용해 활동 기록을 남기지 않고 데이터를 변경할 수 있습니다.
🇺🇸 원문 (English)
Parse Server before 8.6.106 and 9.0.0 before 9.10.5-alpha.7 mishandles dot notation keys with null or undefined values when building the saved object, so a write is stored but returns an error and skips afterSave triggers and LiveQuery events. A client with write access can exploit this to evade audit logging, notifications, and derived data updates.
📍 영향받는 시스템
Parse Server 8.6.106 미만, 9.0.0 이상 9.10.5-alpha.7 미만 버전
⚔️ 공격 벡터
쓰기 권한을 가진 클라이언트가 null/undefined 값을 포함한 점 표기법 키로 객체를 저장해 afterSave 트리거와 LiveQuery 이벤트를 우회
🛡️ 대응 방법
Parse Server를 8.6.106 이상 또는 9.10.5-alpha.7 이상으로 업그레이드
🔧 검증 코드
출력된 버전이 8.6.106 이상이거나 9.10.5-alpha.7 이상이면 패치된 상태이며, 그보다 낮으면 업그레이드가 필요합니다.
npm list parse-server 2>/dev/null | grep parse-server