🇰🇷 한글 설명
Parse Server의 특정 버전에서 인증되지 않은 공격자가 깊게 중첩된 쿼리 조건 연산자를 포함한 단일 요청을 보내 서버 프로세스를 중단시킬 수 있습니다. 이 취약점은 서비스 거부(DoS)를 유발하여 모든 연결된 클라이언트의 서비스를 중단시킵니다. 최신 버전에서는 쿼리 깊이 제한 옵션이 추가되었으나 기본적으로 비활성화되어 있으므로 수동 설정이 필요합니다.
💡 쉬운 설명
해커가 복잡하게 꼬인 질문을 서버에 던져서 서버를 먹통으로 만드는 공격입니다. 서버가 이 질문을 처리하려다 과부하가 걸려 멈춰버리기 때문에 서비스 이용이 불가능해집니다.
🇺🇸 원문 (English)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.21 and 8.6.45, an unauthenticated attacker can crash the Parse Server process by sending a single request with deeply nested query condition operators. This terminates the server and denies service to all connected clients. Starting in version 9.6.0-alpha.21 and 8.6.45, a depth limit for query condition operator nesting has been added via the `requestComplexity.queryDepth` server option. The option is disabled by default to avoid a breaking change. To mitigate, upgrade and set the option to a value appropriate for your app. No known workarounds are available.
📍 영향받는 시스템
Parse Server 9.6.0-alpha.21 및 8.6.45 미만 버전
⚔️ 공격 벡터
인증되지 않은 공격자가 깊게 중첩된 쿼리 조건 연산자를 포함한 단일 HTTP 요청 전송
🛡️ 대응 방법
Parse Server를 9.6.0-alpha.21 또는 8.6.45 이상으로 업그레이드한 후 `requestComplexity.queryDepth` 옵션을 적절한 값으로 설정
🔧 검증 코드
출력된 결과에서 parse-server의 버전을 확인하여 취약한 버전 범위에 해당하는지 체크