🇰🇷 한글 설명
Kyoo 미디어 서버 5.1.0 미만 버전에서 인증되지 않은 공격자가 조작된 redirectUrl을 사용하여 OIDC 로그인 흐름을 악용할 수 있습니다. 공격자는 피해자가 인증을 완료하도록 유도하여 토큰을 탈취하고, 이를 통해 피해자의 Kyoo 세션을 획득할 수 있습니다.
💡 쉬운 설명
로그인 과정에서 목적지를 확인하지 않는 허점을 이용해, 사용자가 로그인하면 로그인 정보가 공격자의 사이트로 전달되게 만드는 공격입니다. 이를 통해 공격자는 사용자의 계정 권한을 가로챌 수 있습니다.
🇺🇸 원문 (English)
Kyoo is a self-hosted media server focused on movies, series, and anime. Prior to 5.1.0, an unauthenticated attacker could initiate the OIDC login flow with an attacker-controlled redirectUrl. The login handling in auth/oidc.go stored that URL with the opaque login state, and /auth/oidc/logged/{provider} appended the provider, token, and error values before redirecting the victim's browser without validating the destination. Because the one-use token was not bound to the browser session that initiated login, an attacker who induced a victim to complete OIDC authentication could capture the token at the attacker-controlled destination and exchange it through /auth/oidc/callback/{provider} for the victim's Kyoo session. This issue is fixed in version 5.1.0.
📍 영향받는 시스템
Kyoo media server versions prior to 5.1.0
⚔️ 공격 벡터
조작된 redirectUrl을 포함한 OIDC 로그인 요청을 통해 피해자의 인증 토큰을 탈취하는 방식
🛡️ 대응 방법
Kyoo 미디어 서버를 5.1.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 5.1.0 이상의 버전 번호가 포함되어 있는지 확인하십시오.
curl -s http://<target-ip>/api/version | grep -E '5.1.0'