🇰🇷 한글 설명
Parse Server 8.6.113 미만 및 9.0.0~9.10.6-alpha.5 미만 버전에는 Cloud Code 트리거와 LiveQuery에서 객체를 생성할 때 발생하는 프로토타입 오염 취약점이 있습니다. 점 표기법 키의 중간 세그먼트가 상속된 멤버를 통해 해석되면 프로세스 전역의 내장 객체에 값이 기록됩니다. 트리거 또는 LiveQuery가 설정된 클래스의 객체에 쓰기 권한을 가진 클라이언트는 내장 함수를 손상시킬 수 있으며, 이로 인해 재시작 전까지 무관한 요청이 실패하고 모든 클라이언트와 호스팅 애플리케이션에 서비스 거부가 발생합니다.
💡 쉬운 설명
Parse Server라는 서버 프로그램의 설계 결함으로, 데이터를 저장할 때 특정 방식으로 입력하면 서버의 핵심 기능이 망가질 수 있습니다. 그 결과 재시작하기 전까지 서버 전체가 정상적으로 동작하지 않을 수 있습니다.
🇺🇸 원문 (English)
Parse Server before 8.6.113 and 9.0.0 before 9.10.6-alpha.5 contains a prototype pollution vulnerability when building objects for Cloud Code triggers and LiveQuery, where a dot notation key whose intermediate segment resolves through an inherited member writes onto a process-wide built-in. Clients with write access to an object in a class with a trigger or LiveQuery can corrupt a built-in function, making unrelated requests fail until restart and denying service to all clients and hosted applications.
📍 영향받는 시스템
Parse Server 8.6.113 미만, 9.0.0 이상 9.10.6-alpha.5 미만
⚔️ 공격 벡터
트리거 또는 LiveQuery가 설정된 클래스의 객체에 쓰기 권한을 가진 인증 사용자가 점 표기법 키로 프로토타입 체인을 조작하는 데이터를 전송
🛡️ 대응 방법
Parse Server를 8.6.113 이상 또는 9.10.6-alpha.5 이상으로 업그레이드
🔧 검증 코드
출력된 버전이 8.6.113 이상 또는 9.10.6-alpha.5 이상이면 패치된 것이며, 그보다 낮은 버전이면 취약합니다.
npm list parse-server 2>/dev/null | grep parse-server