🇰🇷 한글 설명
python-oauth2 라이브러리의 nonce 및 verifier 생성 함수들이 약한 난수 생성기를 사용하여, 원격 공격자가 brute force 공격으로 nonce 값을 쉽게 추측할 수 있는 취약점입니다. 이로 인해 OAuth2 인증 메커니즘이 우회될 수 있습니다.
💡 쉬운 설명
OAuth 인증에 사용되는 '일회용 번호'를 생성할 때 예측 가능한 방식을 사용해서, 공격자가 번호를 맞힐 수 있습니다. 마치 비밀번호가 '1234'처럼 쉬운 것처럼 여러 번 시도하면 맞을 수 있다는 뜻입니다.
🇺🇸 원문 (English)
The (1) make_nonce, (2) generate_nonce, and (3) generate_verifier functions in SimpleGeo python-oauth2 uses weak random numbers to generate nonces, which makes it easier for remote attackers to guess the nonce via a brute force attack.
📍 영향받는 시스템
python-oauth2 라이브러리 (버전 1.5.211 이전)
⚔️ 공격 벡터
원격 공격자가 약한 nonce/verifier 값을 brute force로 추측하여 OAuth 인증 토큰 획득 또는 세션 탈취
🛡️ 대응 방법
python-oauth2를 최신 버전(1.5.211 이상)으로 업그레이드하거나 secure random number generation을 사용하는 대체 라이브러리 사용
🔧 검증 코드
Version이 1.5.211 이상이면 안전하고, 그 이하이거나 설치되지 않았으면 해당 라이브러리를 확인하거나 업그레이드 필요
pip show python-oauth2 2>/dev/null | grep Version || echo 'python-oauth2 not installed'