🇰🇷 한글 설명
Parse Server에서 TOTP 기반 다요소 인증(MFA) 사용 시, 생성된 복구 코드가 사용 후에도 소모되지 않는 취약점이 발견되었습니다. 이로 인해 단 한 번만 사용되어야 할 복구 코드가 무제한으로 재사용될 수 있어 MFA 보안 체계가 무력화될 수 있습니다.
💡 쉬운 설명
로그인할 때 사용하는 비상용 비밀번호가 한 번 쓰고 사라지지 않고 계속 쓸 수 있는 상태입니다. 해커가 이 번호를 한 번만 알아내면 언제든 사용자 계정으로 다시 들어올 수 있습니다.
🇺🇸 원문 (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.7 and 8.6.33, when multi-factor authentication (MFA) via TOTP is enabled for a user account, Parse Server generates two single-use recovery codes. These codes are intended as a fallback when the user cannot provide a TOTP token. However, recovery codes are not consumed after use, allowing the same recovery code to be used an unlimited number of times. This defeats the single-use design of recovery codes and weakens the security of MFA-protected accounts. An attacker who obtains a single recovery code can repeatedly authenticate as the affected user without the code ever being invalidated. This vulnerability is fixed in 9.6.0-alpha.7 and 8.6.33.
📍 영향받는 시스템
Parse Server versions prior to 9.6.0-alpha.7 and 8.6.33
⚔️ 공격 벡터
탈취한 단일 복구 코드를 사용하여 MFA 인증 과정을 반복적으로 우회하여 로그인
🛡️ 대응 방법
Parse Server를 9.6.0-alpha.7 또는 8.6.33 이상의 버전으로 업데이트
🔧 검증 코드
출력된 parse-server의 버전이 9.6.0-alpha.7 또는 8.6.33보다 낮은지 확인