🇰🇷 한글 설명
Spring Security에서 AuthenticatedVoter#vote 메서드에 null 인증(Authentication) 파라미터를 직접 전달할 경우 접근 제어가 무너질 수 있는 취약점입니다. 이로 인해 권한이 없는 사용자가 시스템에 비정상적으로 접근할 수 있는 위험이 존재합니다.
💡 쉬운 설명
로그인 정보가 비어있는 상태로 권한을 확인하려 할 때, 보안 검사를 제대로 수행하지 못하고 문을 열어주는 오류가 발생할 수 있습니다. 이로 인해 해커가 권한 없이 시스템에 들어올 가능성이 있습니다.
🇺🇸 원문 (English)
In Spring Security, versions 5.7.x prior to 5.7.12, 5.8.x prior to
5.8.11, versions 6.0.x prior to 6.0.9, versions 6.1.x prior to 6.1.8,
versions 6.2.x prior to 6.2.3, an application is possible vulnerable to
broken access control when it directly uses the AuthenticatedVoter#vote passing a null Authentication parameter.
📍 영향받는 시스템
Spring Security 5.7.x (< 5.7.12), 5.8.x (< 5.8.11), 6.0.x (< 6.0.9), 6.1.x (< 6.1.8), 6.2.x (< 6.2.3)
⚔️ 공격 벡터
애플리케이션 코드 내에서 AuthenticatedVoter#vote 호출 시 null 인증 객체를 전달하여 접근 제어 로직을 우회함
🛡️ 대응 방법
Spring Security를 취약점이 해결된 최신 패치 버전(5.7.12+, 5.8.11+, 6.0.9+, 6.1.8+, 6.2.3+)으로 업데이트하십시오.
🔧 검증 코드
출력된 spring-security-core의 버전을 확인하여 취약한 버전 범위에 포함되는지 체크합니다.
mvn dependency:tree | grep spring-security-core