🇰🇷 한글 설명
Parse Server의 PagesRouter 정적 파일 서비스 경로에서 경로 탐색(Path Traversal) 취약점이 발견되었습니다. 공격자는 디렉토리 구분자 검증 미흡을 악용하여 설정된 pagesPath 디렉토리 외부의 파일을 인증 없이 읽을 수 있습니다. 이 문제는 8.6.8 및 9.5.0-alpha.8 버전에서 패치되었습니다.
💡 쉬운 설명
웹 서버의 파일 경로 확인 방식에 허점이 있어, 허용되지 않은 다른 폴더의 파일을 몰래 훔쳐볼 수 있는 문제입니다. 폴더 이름이 비슷하면 보안 검사를 통과할 수 있는 약점을 이용합니다.
🇺🇸 원문 (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.8 and 9.5.0-alpha.8, the PagesRouter static file serving route is vulnerable to a path traversal attack that allows unauthenticated reading of files outside the configured pagesPath directory. The boundary check uses a string prefix comparison without enforcing a directory separator boundary. An attacker can use path traversal sequences to access files in sibling directories whose names share the same prefix as the pages directory (e.g. pages-secret starts with pages). This issue has been patched in versions 8.6.8 and 9.5.0-alpha.8.
📍 영향받는 시스템
Parse Server 8.6.8 미만 버전 및 9.5.0-alpha.8 미만 버전
⚔️ 공격 벡터
경로 탐색 시퀀스를 사용하여 설정된 디렉토리와 접두사가 일치하는 인접 디렉토리의 파일에 접근
🛡️ 대응 방법
Parse Server를 8.6.8 또는 9.5.0-alpha.8 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 번호가 출력되면 해당 버전이 설치되어 있는 상태입니다.
npm list parse-server | grep -E 'parse-server@(8\.[0-5]\.[0-9]|9\.5\.0-alpha\.[0-8])'