🇰🇷 한글 설명
Parse Server의 내장 OAuth2 인증 어댑터가 싱글톤 인스턴스를 재사용함에 따라 발생하는 취약점입니다. 여러 OAuth2 제공업체를 동시에 사용할 경우, 한 제공업체의 토큰이 다른 제공업체의 설정으로 검증되어 잘못된 인증이 허용될 수 있습니다.
💡 쉬운 설명
여러 로그인 방식을 동시에 사용할 때, A라는 로그인 방식의 열쇠를 B라는 로그인 방식의 검사기로 확인하는 오류가 발생합니다. 이로 인해 잘못된 로그인 정보가 통과될 위험이 있습니다.
🇺🇸 원문 (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.11 and 8.6.37, Parse Server's built-in OAuth2 auth adapter exports a singleton instance that is reused directly across all OAuth2 provider configurations. Under concurrent authentication requests for different OAuth2 providers, one provider's token validation may execute using another provider's configuration, potentially allowing a token that should be rejected by one provider to be accepted because it is validated against a different provider's policy. Deployments that configure multiple OAuth2 providers via the oauth2: true flag are affected. This vulnerability is fixed in 9.6.0-alpha.11 and 8.6.37.
📍 영향받는 시스템
Parse Server 9.6.0-alpha.11 및 8.6.37 미만 버전 (oauth2: true 설정 시)
⚔️ 공격 벡터
서로 다른 OAuth2 제공업체에 대해 동시에 인증 요청을 보내 설정 혼선 유도
🛡️ 대응 방법
Parse Server를 9.6.0-alpha.11 또는 8.6.37 이상의 버전으로 업데이트
🔧 검증 코드
출력된 버전이 9.6.0-alpha.11 미만이거나 8.6.37 미만인 경우 취약한 상태입니다.
npm list parse-server | grep -E 'parse-server@([0-8]\.[0-6]\.[0-3][0-6]|9\.6\.0-alpha\.1[0-9]?)'