🇰🇷 한글 설명
Patreon OAuth 제공자 구현 오류로 인해 모든 인증된 Patreon 계정이 동일한 로컬 user.ID로 매핑되는 취약점이 발견되었습니다. 이로 인해 서로 다른 사용자가 동일한 계정으로 인식되어 계정 간 권한 혼동 및 데이터 유출이 발생할 수 있습니다.
💡 쉬운 설명
Patreon으로 로그인할 때 모든 사용자가 마치 한 사람인 것처럼 시스템이 착각하는 문제입니다. 이로 인해 다른 사람의 계정에 접속하거나 개인 정보가 섞일 위험이 있습니다.
🇺🇸 원문 (English)
auth provides authentication via oauth2, direct and email. From versions 1.18.0 to before 1.25.2 and 2.0.0 to before 2.1.2, the Patreon OAuth provider maps every authenticated Patreon account to the same local user.ID, instead of deriving a unique ID from the Patreon account returned by Patreon. In practice, this means all Patreon-authenticated users of an application using this library are collapsed into a single local identity. Any application that trusts token.User.ID as the stable account key can end up mixing or fully merging unrelated Patreon users, which can lead to cross-account access, privilege confusion, and subscription-state leakage. This issue has been patched in versions 1.25.2 and 2.1.2.
📍 영향받는 시스템
auth library versions 1.18.0 to <1.25.2 and 2.0.0 to <2.1.2
⚔️ 공격 벡터
Patreon OAuth를 통해 인증된 사용자가 동일한 ID를 공유함으로써 타인의 계정 권한을 획득하거나 데이터에 접근함
🛡️ 대응 방법
auth 라이브러리를 버전 1.25.2 또는 2.1.2 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 범위가 출력되면 해당 라이브러리가 설치되어 있는 상태입니다.
npm list auth | grep -E 'auth@(1\.(1[8-9]|2[0-4]\.[0-9])|2\.(0\.[0-9]|1\.[0-1]))'