🇰🇷 한글 설명
Spring LDAP에서 대소문자 구분 비교 시 데이터 노출이 발생할 수 있는 취약점입니다. String.toLowerCase() 및 String.toUpperCase() 메서드가 로케일(Locale) 설정에 따라 다르게 동작하여 의도하지 않은 컬럼이 쿼리될 수 있습니다.
💡 쉬운 설명
특정 언어 설정에 따라 대소문자를 변환하는 방식이 달라져서, 원래 보여주면 안 되는 정보가 검색 결과에 포함될 수 있는 문제입니다. 데이터베이스에서 정보를 찾을 때 규칙이 어긋나 보안이 약해질 수 있습니다.
🇺🇸 원문 (English)
A vulnerability in Spring LDAP allows data exposure for case sensitive comparisons.This issue affects Spring LDAP: from 2.4.0 through 2.4.3, from 3.0.0 through 3.0.9, from 3.1.0 through 3.1.7, from 3.2.0 through 3.2.7, AND all versions prior to 2.4.0.
The usage of String.toLowerCase() and String.toUpperCase() has some Locale dependent exceptions that could potentially result in unintended columns from being queried
Related to CVE-2024-38820 https://spring.io/security/cve-2024-38820
📍 영향받는 시스템
Spring LDAP 2.4.0~2.4.3, 3.0.0~3.0.9, 3.1.0~3.1.7, 3.2.0~3.2.7 및 2.4.0 미만 모든 버전
⚔️ 공격 벡터
로케일 의존적인 문자열 변환 특성을 이용한 부적절한 데이터 쿼리 및 정보 노출
🛡️ 대응 방법
Spring LDAP를 취약점이 해결된 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 사용 중인 spring-ldap-core의 버전이 취약 범위에 포함되는지 확인합니다.
mvn dependency:tree | grep -E 'spring-ldap-core:[0-9]\.'