🇰🇷 한글 설명
Parse Server의 이메일 인증 엔드포인트(/verificationEmailRequest)에서 이메일 존재 여부에 따라 서로 다른 오류 응답을 반환하는 취약점입니다. 공격자는 이 응답 차이를 이용해 특정 이메일 주소가 서비스에 등록되어 있는지 확인할 수 있는 사용자 열거(User Enumeration) 공격이 가능합니다.
💡 쉬운 설명
로그인 시 이메일이 등록되어 있는지 아닌지를 알려주는 시스템의 허점을 이용한 공격입니다. 해커가 이 기능을 악용하면 어떤 이메일이 해당 서비스의 회원인지 목록을 만들어낼 수 있습니다.
🇺🇸 원문 (English)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 8.6.34 and 9.6.0-alpha.8, the email verification endpoint (/verificationEmailRequest) returns distinct error responses depending on whether an email address belongs to an existing user, is already verified, or does not exist. An attacker can send requests with different email addresses and observe the error codes to determine which email addresses are registered in the application. This is a user enumeration vulnerability that affects any Parse Server deployment with email verification enabled (verifyUserEmails: true). This vulnerability is fixed in 8.6.34 and 9.6.0-alpha.8.
📍 영향받는 시스템
Parse Server 8.6.34 미만 및 9.6.0-alpha.8 미만 버전 (verifyUserEmails: true 설정 시)
⚔️ 공격 벡터
이메일 인증 요청 엔드포인트에 다양한 이메일 주소를 전송하여 응답 코드의 차이를 분석
🛡️ 대응 방법
Parse Server를 8.6.34 또는 9.6.0-alpha.8 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 parse-server의 버전이 8.6.34 또는 9.6.0-alpha.8보다 낮은지 확인하십시오.