🇰🇷 한글 설명
Python Social Auth의 SAML 백엔드에서 SAML 응답이 이전에 발행된 AuthnRequest와 일치하는지 확인하지 않는 취약점이 발견되었습니다. 이로 인해 공격자가 신뢰할 수 있는 IdP의 계정을 사용하여 로그인된 피해자의 로컬 계정에 자신의 SAML ID를 연결할 수 있습니다. 해당 문제는 5.0.0 버전에서 AuthnRequest ID 검증 로직을 추가하여 해결되었습니다.
💡 쉬운 설명
로그인 과정에서 본인이 요청하지 않은 인증 정보가 들어와도 시스템이 이를 그대로 받아들여 발생하는 문제입니다. 공격자가 자신의 계정을 피해자의 계정에 몰래 연결하여 피해자의 계정으로 접속할 수 있습니다.
🇺🇸 원문 (English)
Python Social Auth is a social authentication/registration mechanism. Prior to version 5.0.0, the SAML backend accepted SAML responses on the Assertion Consumer Service endpoint without verifying that they matched a previously issued `AuthnRequest`. Applications using SAML account association could allow an attacker with a valid account on a trusted IdP to link the attacker's SAML identity to a logged-in victim's local account. The attacker could then authenticate through SAML and gain access to the victim's account. The issue affects applications using the SAML backend together with authenticated account association. The issue has been fixed in version 5.0.0 by validating SAML responses against stored `AuthnRequest` IDs.
📍 영향받는 시스템
Python Social Auth SAML 백엔드를 사용하는 버전 5.0.0 미만 시스템
⚔️ 공격 벡터
신뢰할 수 있는 IdP 계정을 가진 공격자가 유효한 SAML 응답을 조작하여 피해자의 계정에 자신의 신원을 연결함
🛡️ 대응 방법
Python Social Auth를 버전 5.0.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 5.0.0 미만이면 취약한 상태이며, 5.0.0 이상이면 안전합니다.
pip show python-social-auth | grep Version
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access