🇰🇷 한글 설명
Spring Security의 CookieRequestCache는 인증 전 요청 URL을 쿠키에 저장하여 로그인 후 리디렉션할 때 사용합니다. 취약한 버전에서는 절대 URL이 검증 없이 사용되어 악의적인 외부 사이트로 리디렉션될 수 있습니다.
💡 쉬운 설명
로그인 후 원래 페이지로 돌아가기 위해 저장된 URL이 해커가 지정한 악성 사이트로 바뀔 수 있습니다. 이를 통해 사용자는 사기성 사이트에 접속하거나 정보를 유출당할 위험이 있습니다.
🇺🇸 원문 (English)
Spring Security's CookieRequestCache and CookieServerRequestCache store the pre-authentication request URL in a browser cookie so that users can be redirected back to their intended destination after a successful login. In affected versions, the full absolute URL is stored in the cookie and is used without validation as the post-login redirect target.
Affected versions:
Spring Security 5.7.0 through 5.7.23; 5.8.0 through 5.8.25; 6.3.0 through 6.3.16; 6.4.0 through 6.4.16; 6.5.0 through 6.5.10; 7.0.0 through 7.0.5.
📍 영향받는 시스템
Spring Security 5.7.0-5.7.23, 5.8.0-5.8.25, 6.3.0-6.3.16, 6.4.0-6.4.16, 6.5.0-6.5.10, 7.0.0-7.0.5
⚔️ 공격 벡터
사용자가 로그인한 후 악의적으로 조작된 URL로 리디렉션되도록 유도
🛡️ 대응 방법
Spring Security를 최신 안정 버전으로 업그레이드하여 URL 검증 로직을 적용하세요.
🔧 검증 코드
출력된 버전이 취약한 범위(예: 6.3.0 이상 6.3.16 이하)에 해당하면 업그레이드가 필요합니다.
mvn dependency:tree -Dincludes=org.springframework.security:spring-security-web 2>/dev/null | grep -E 'spring-security-web'