🇰🇷 한글 설명
Parse Server의 특정 버전에서 인증된 사용자가 /users/me 엔드포인트를 호출할 때 MFA TOTP 비밀값 및 복구 코드를 포함한 민감한 인증 데이터가 필터링 없이 노출되는 취약점이 발견되었습니다. 이 취약점은 내부적으로 마스터 권한을 사용하여 세션을 조회하는 과정에서 발생하며, 공격자가 세션 토큰을 탈취할 경우 MFA를 무력화할 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 자신의 정보를 조회할 때, 원래는 숨겨져야 할 2차 인증(MFA)용 비밀번호까지 함께 보여주는 보안 결함입니다. 해커가 이 정보를 얻으면 사용자의 2차 인증을 통과하여 계정을 완전히 장악할 수 있습니다.
🇺🇸 원문 (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.61 and 9.6.0-alpha.55, an authenticated user calling GET /users/me receives unsanitized auth data, including sensitive credentials such as MFA TOTP secrets and recovery codes. The endpoint internally uses master-level authentication for the session query, and the master context leaks through to the user data, bypassing auth adapter sanitization. An attacker who obtains a user's session token can extract MFA secrets to generate valid TOTP codes indefinitely. This issue has been patched in versions 8.6.61 and 9.6.0-alpha.55.
📍 영향받는 시스템
Parse Server versions prior to 8.6.61 and 9.6.0-alpha.55
⚔️ 공격 벡터
인증된 사용자가 탈취한 세션 토큰을 사용하여 GET /users/me 엔드포인트에 요청을 보내 민감한 데이터를 추출
🛡️ 대응 방법
Parse Server를 8.6.61 또는 9.6.0-alpha.55 이상의 버전으로 즉시 업데이트
🔧 검증 코드
명령어 실행 결과에 패치된 버전(8.6.61 또는 9.6.0-alpha.55 이상)이 나타나면 안전하며, 아무것도 출력되지 않으면 취약할 수 있습니다.
npm list parse-server | grep -E 'parse-server@(8\.6\.61|9\.6\.0-alpha\.55)'