🇰🇷 한글 설명
Authlib의 OpenIDImplicitGrant와 OpenIDHybridGrant 인증 엔드포인트에서 openid scope를 생략한 인증 요청을 통해 공격자가 임의의 URL로 HTTP 302 리다이렉트를 유발할 수 있는 오픈 리다이렉트 취약점입니다. 인증되지 않은 공격자가 피해자를 악의적 사이트로 리다이렉트하여 피싱이나 기타 공격을 수행할 수 있습니다.
💡 쉬운 설명
Authlib 라이브러리의 로그인 시스템에서 공격자가 조작된 요청을 보내면 사용자를 공격자의 웹사이트로 자동으로 보낼 수 있습니다. 이를 이용해 사용자의 정보를 탈취하거나 악성 사이트로 유도할 수 있습니다.
🇺🇸 원문 (English)
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to 1.6.12 and 1.7.1, an unauthenticated open redirect in Authlib's OpenIDImplicitGrant and OpenIDHybridGrant authorization endpoint lets a remote attacker cause the authorization server to issue an HTTP 302 to an attacker-chosen URL by submitting an authorization request that omits the openid scope. This vulnerability is fixed in 1.6.12 and 1.7.1.
📍 영향받는 시스템
Authlib < 1.6.12, Authlib 1.7.0 (1.7.1 미만)
⚔️ 공격 벡터
인증 요청에서 openid scope를 생략하고 redirect_uri 파라미터에 공격자 URL을 지정하는 HTTP GET/POST 요청 전송
🛡️ 대응 방법
Authlib를 1.6.12 이상 또는 1.7.1 이상으로 업그레이드하기
🔧 검증 코드
설치된 Authlib 버전을 확인하여 1.6.12 이상(1.6.x) 또는 1.7.1 이상(1.7.x)이면 패치됨, 그 이하 버전이면 취약
pip show authlib 2>/dev/null | grep Version | awk '{print $NF}'