🇰🇷 한글 설명
Spring Security의 ActiveDirectoryLdapAuthenticator가 비밀번호 길이를 검증하지 않아 발생하는 인증 우회 취약점입니다. LDAP 서버가 익명 바인드를 허용할 경우, 공격자가 빈 비밀번호로도 정상 인증된 사용자로 인증될 수 있습니다.
💡 쉬운 설명
회사 시스템의 Spring Security 라이브러리가 LDAP 로그인 시 비밀번호를 제대로 확인하지 않는 버그입니다. 공격자가 비밀번호 입력 없이 다른 사람의 계정으로 로그인할 수 있게 됩니다.
🇺🇸 원문 (English)
The ActiveDirectoryLdapAuthenticator in Spring Security 3.2.0 to 3.2.1 and 3.1.0 to 3.1.5 does not check the password length. If the directory allows anonymous binds then it may incorrectly authenticate a user who supplies an empty password.
📍 영향받는 시스템
Spring Security 3.1.0~3.1.5, 3.2.0~3.2.1 버전의 ActiveDirectoryLdapAuthenticator
⚔️ 공격 벡터
LDAP 서버가 익명 바인드를 허용할 때, 빈 비밀번호를 제출하여 유효한 사용자 계정으로 인증 획득
🛡️ 대응 방법
Spring Security를 3.1.6 이상 또는 3.2.2 이상으로 업그레이드하고 LDAP 서버의 익명 바인드 비활성화
🔧 검증 코드
출력된 버전이 3.1.0~3.1.5 또는 3.2.0~3.2.1이면 취약함 - 3.1.6+ 또는 3.2.2+로 업그레이드 필요
grep 'spring-security' pom.xml 2>/dev/null | grep -oP '<version>\K[^<]+' | head -1