🇰🇷 한글 설명
Authlib의 OAuth 2.0 인증 엔드포인트에서 지원되지 않는 response_type과 공격자가 제어하는 redirect_uri를 사용할 경우 인증되지 않은 오픈 리다이렉트 취약점이 발생합니다. 이 취약점은 클라이언트 조회 및 리다이렉트 URI 검증 단계 이전에 발생하므로, 유효한 클라이언트 등록이나 인증된 사용자가 없어도 공격이 가능합니다.
💡 쉬운 설명
로그인 페이지를 거쳐 사용자를 엉뚱한 가짜 사이트로 몰아가는 공격이 가능합니다. 공격자는 별도의 로그인 과정 없이도 링크 하나만으로 사용자를 위험한 사이트로 유도할 수 있습니다.
🇺🇸 원문 (English)
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to 1.6.10 and 1.7.1, Authlib's OAuth 2.0 authorization endpoint can be turned into an unauthenticated open redirect when a request uses an unsupported response_type and supplies an attacker-controlled redirect_uri. The vulnerable behavior happens before client lookup and before any redirect URI validation. As a result, an attacker does not need a valid client registration, an authenticated user, or any prior state. A single request to the authorization endpoint is enough to obtain a 302 Location response to an arbitrary attacker-controlled URL. This vulnerability is fixed in 1.6.10 and 1.7.1.
📍 영향받는 시스템
Authlib versions prior to 1.6.10 and 1.7.1
⚔️ 공격 벡터
지원되지 않는 response_type과 조작된 redirect_uri를 포함한 인증 엔드포인트 요청
🛡️ 대응 방법
Authlib 라이브러리를 1.6.10 또는 1.7.1 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 1.6.10 또는 1.7.1 미만인지 확인하십시오.
pip show authlib | grep Version