🔍 CVE-2024-22234

7.4
CVSS Score
HIGH
2024-02-20
2026-06-17 07:10
✅ 완료

🇰🇷 한글 설명

Spring Security 6.1.x(6.1.7 미만) 및 6.2.x(6.2.2 미만) 버전에서 AuthenticationTrustResolver.isFullyAuthenticated() 메서드를 직접 사용할 때 발생하는 권한 제어 결함입니다. 인증 객체로 null 값이 전달될 경우 메서드가 잘못된 true 값을 반환하여 인증되지 않은 사용자가 인증된 것으로 오인될 수 있습니다.

💡 쉬운 설명

보안 검사 도구가 '로그인 여부'를 확인할 때, 실수로 빈 값(null)을 넣으면 시스템이 이를 '로그인 완료'로 잘못 판단하는 문제입니다. 이로 인해 로그인하지 않은 사용자가 권한이 필요한 페이지에 접속할 위험이 있습니다.

🇺🇸 원문 (English)

In Spring Security, versions 6.1.x prior to 6.1.7 and versions 6.2.x prior to 6.2.2, an application is vulnerable to broken access control when it directly uses the AuthenticationTrustResolver.isFullyAuthenticated(Authentication) method. Specifically, an application is vulnerable if: * The application uses AuthenticationTrustResolver.isFullyAuthenticated(Authentication) directly and a null authentication parameter is passed to it resulting in an erroneous true return value. An application is not vulnerable if any of the following is true: * The application does not use AuthenticationTrustResolver.isFullyAuthenticated(Authentication) directly. * The application does not pass null to AuthenticationTrustResolver.isFullyAuthenticated * The application only uses isFullyAuthenticated via Method Security https://docs.spring.io/spring-security/reference/servlet/authorization/method-security.html  or HTTP Request Security https://docs.spring.io/spring-security/reference/servlet/authorization/authorize-http-requests.html

📍 영향받는 시스템

Spring Security 6.1.x < 6.1.7, 6.2.x < 6.2.2

⚔️ 공격 벡터

인증 객체(Authentication)를 직접 다루는 로직에 null 값을 주입하여 인증 우회 시도

🛡️ 대응 방법

Spring Security를 6.1.7 또는 6.2.2 이상의 최신 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 spring-security-core의 버전을 확인하여 6.1.7 또는 6.2.2 미만인지 체크합니다.

Shell / Script
mvn dependency:tree | grep 'spring-security-core'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

💻 영향받는 소프트웨어

Spring Security