🇰🇷 한글 설명
Parse Server의 특정 버전에서 HTTP Range 요청을 통한 파일 다운로드 시 afterFind(Parse.File) 트리거와 검증 로직이 우회되는 취약점이 발견되었습니다. 이로 인해 GridFS와 같이 스트리밍을 지원하는 스토리지 어댑터에서 권한이 필요한 파일에 무단 접근이 가능합니다. 해당 문제는 8.6.71 및 9.7.1-alpha.1 버전에서 패치되었습니다.
💡 쉬운 설명
파일을 다운로드할 때 보안 검사를 거쳐야 하는데, 파일의 일부만 요청하는 특수한 방식을 사용하면 이 검사를 건너뛸 수 있는 문제입니다. 결과적으로 허가되지 않은 사용자가 보호된 파일을 몰래 가져갈 수 있습니다.
🇺🇸 원문 (English)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.71 and 9.7.1-alpha.1, file downloads via HTTP Range requests bypass the afterFind(Parse.File) trigger and its validators on storage adapters that support streaming (e.g. the default GridFS adapter). This allows access to files that should be protected by afterFind trigger authorization logic or built-in validators such as requireUser. This issue has been patched in versions 8.6.71 and 9.7.1-alpha.1.
📍 영향받는 시스템
Parse Server versions prior to 8.6.71 and 9.7.1-alpha.1
⚔️ 공격 벡터
HTTP Range request를 이용한 파일 스트리밍 요청을 통한 권한 우회
🛡️ 대응 방법
Parse Server를 8.6.71 또는 9.7.1-alpha.1 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 번호가 출력되면 패치가 되지 않은 상태이며, 아무것도 출력되지 않으면 안전합니다.
npm list parse-server | grep -E 'parse-server@(8\.(?!6\.71).+|9\.(?!7\.1-alpha\.1).+)'