🇰🇷 한글 설명
Python Social Auth의 5.0.0 미만 버전에서 vk-app 백엔드가 auth_key 매개변수가 누락된 경우 콜백 서명을 검증하지 않는 취약점이 발견되었습니다. 공격자는 조작된 콜백 데이터를 전송하여 임의의 VK 사용자 ID로 인증을 우회할 수 있습니다. 이 문제는 5.0.0 버전에서 auth_key의 존재와 유효성을 강제함으로써 해결되었습니다.
💡 쉬운 설명
소셜 로그인 기능 중 VK 로그인 기능을 사용할 때, 본인 확인 절차를 건너뛰고 다른 사람의 계정으로 로그인할 수 있는 보안 결함입니다. 공격자가 가짜 정보를 보내면 시스템이 이를 진짜 사용자로 착각하여 로그인을 허용하게 됩니다.
🇺🇸 원문 (English)
Python Social Auth is a social authentication/registration mechanism. Prior to version 5.0.0, the `vk-app` backend accepted VK application callback data without verifying the callback signature when the `auth_key` parameter was omitted. Applications using this backend could treat unsigned attacker-controlled data as a verified VK identity. An attacker could choose callback fields such as `viewer_id`, `access_token`, `api_id`, and `api_result`, potentially allowing authentication as an arbitrary VK user ID. The issue affects only applications using the `vk-app` backend. The issue has been fixed in version 5.0.0 by requiring `auth_key` to be present and valid before callback data is trusted.
📍 영향받는 시스템
Python Social Auth 5.0.0 미만 버전 중 vk-app 백엔드를 사용하는 애플리케이션
⚔️ 공격 벡터
auth_key가 없는 조작된 VK 콜백 데이터를 전송하여 임의의 사용자 ID로 인증 우회
🛡️ 대응 방법
Python Social Auth를 5.0.0 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전 번호가 5.0.0 미만이면 해당 취약점에 노출된 상태입니다.
pip show python-social-auth | grep Version