🇰🇷 한글 설명
Parse Server의 특정 버전에서 protectedFields 클래스 수준 권한(CLP)을 우회할 수 있는 취약점이 발견되었습니다. 공격자는 쿼리의 WHERE 절이나 정렬 매개변수에 점 표기법(dot-notation)을 사용하여 보호된 필드의 하위 필드에 접근할 수 있으며, 이를 통해 이진 오라클 공격으로 보호된 값을 열거할 수 있습니다. 이 취약점은 MongoDB 및 PostgreSQL 배포 환경 모두에 영향을 미칩니다.
💡 쉬운 설명
보안 설정으로 숨겨둔 데이터의 세부 항목을 특수한 입력 방식(점 표기법)을 통해 몰래 훔쳐볼 수 있는 결함입니다. 공격자는 이 방법을 이용해 암호와 같은 민감한 정보를 하나씩 알아낼 수 있습니다.
🇺🇸 원문 (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.6 and 8.6.32, the protectedFields class-level permission (CLP) can be bypassed using dot-notation in query WHERE clauses and sort parameters. An attacker can use dot-notation to query or sort by sub-fields of a protected field, enabling a binary oracle attack to enumerate protected field values. This affects both MongoDB and PostgreSQL deployments. This vulnerability is fixed in 9.6.0-alpha.6 and 8.6.32.
📍 영향받는 시스템
Parse Server 9.6.0-alpha.6 미만 및 8.6.32 미만 버전 (MongoDB/PostgreSQL 사용 환경)
⚔️ 공격 벡터
쿼리 WHERE 절 및 정렬 매개변수에 점 표기법(dot-notation)을 사용하여 보호된 필드의 하위 필드에 접근
🛡️ 대응 방법
Parse Server를 9.6.0-alpha.6 또는 8.6.32 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 9.6.0-alpha.6 또는 8.6.32 이상인지 확인하여 취약 여부를 판단합니다.
npm list parse-server | grep -E 'parse-server@([0-8]\.[0-6]\.[0-9]+|9\.6\.0-alpha\.6)'