🇰🇷 한글 설명
Casdoor 2.362.0 및 이전 버전의 SAML 콜백 핸들러가 이전에 발행된 AuthnRequest와 일치하는지 확인하지 않고 모든 SAMLResponse를 수락하는 취약점이 발견되었습니다. 또한 IdP가 비활성화되거나 삭제되어도 초기 로드된 스냅샷을 사용하여 응답을 처리하므로, 공격자가 임의의 SAML 응답을 보내거나 캡처된 응답을 재전송하여 권한 없는 세션을 생성할 수 있습니다.
💡 쉬운 설명
로그인 과정에서 서버가 '이 요청이 진짜 내가 보낸 요청이 맞는지' 확인하지 않아 발생하는 문제입니다. 공격자가 가짜 로그인 정보를 보내거나 예전에 썼던 로그인 정보를 다시 사용하면 시스템이 속아서 로그인을 허용하게 됩니다.
🇺🇸 원문 (English)
In Casdoor versions 2.362.0 and earlier, the SAML callback handler in controllers/auth.go accepts any well-formed SAMLResponse sent to /api/acs without verifying that it corresponds to an AuthnRequest previously issued by Casdoor. Additionally, if an administrator disables or deletes an IdP (Identity Provider) after a SAML flow has started, the handler still processes the response using the provider snapshot loaded at the start of the request. As a result, an attacker controlling a registered upstream IdP can send unsolicited SAML responses, or replay a legitimately captured response in a different session or after the original flow has ended. In both cases, Casdoor accepts the response and issues a session, enabling persistent unauthorized access.
📍 영향받는 시스템
Casdoor version 2.362.0 and earlier
⚔️ 공격 벡터
등록된 IdP를 제어하는 공격자가 `/api/acs` 엔드포인트로 위조된 SAMLResponse를 전송하거나 캡처된 응답을 재전송(Replay Attack)함
🛡️ 대응 방법
Casdoor를 최신 보안 패치가 적용된 버전으로 업데이트하고, SAML 응답 시 AuthnRequest와의 일치 여부를 검증하도록 설정하십시오.
🔧 검증 코드
출력된 버전 정보가 2.362.0 이하인 경우 해당 취약점에 노출된 상태입니다.
curl -s http://<target-ip>/api/version | grep -E '2.362.0|earlier'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access