🇰🇷 한글 설명
Keycloak에서 취약점이 발견되었습니다. 영역(realm) 관리자 권한을 가진 원격 공격자가 악의적인 LDAP 서버를 설정하거나 상위 LDAP 서버를 장악하면, 비밀번호 인증 요청 중 잘못된 형식의 LDAP 비밀번호 정책 응답을 보내 OutOfMemoryError를 유발할 수 있습니다. 이로 인해 Keycloak JVM이 종료되어 해당 노드의 모든 영역에 서비스 거부(DoS)가 발생합니다.
💡 쉬운 설명
인증 서버가 특정 잘못된 응답을 받으면 메모리가 부족해져 프로그램이 강제로 종료됩니다. 이 때문에 해당 서버를 쓰는 모든 로그인 서비스가 중단될 수 있습니다.
🇺🇸 원문 (English)
A flaw was found in Keycloak. A remote attacker with high privileges, such as a realm administrator configuring a malicious Lightweight Directory Access Protocol (LDAP) server or an attacker compromising an upstream LDAP server, could exploit this vulnerability. By sending a malformed LDAP password policy response during a password authentication request, the attacker can trigger an OutOfMemoryError. This causes the Keycloak Java Virtual Machine (JVM) to terminate, leading to a denial of service (DoS) for all realms on the affected node.
📍 영향받는 시스템
Keycloak (버전별 상세 정보는 공식 권고문 확인 필요)
⚔️ 공격 벡터
높은 권한을 가진 공격자가 악의적인 LDAP 서버 설정 또는 상위 LDAP 서버 장악을 통해 잘못된 비밀번호 정책 응답을 전송
🛡️ 대응 방법
Keycloak을 공식 보안 패치가 적용된 최신 버전으로 업그레이드하고, LDAP 연결 설정과 관리자 권한을 점검
🔧 검증 코드
출력된 Keycloak JAR 파일명의 버전을 확인하여 공식 권고문의 패치 버전과 비교하고, 패치 버전 이전이면 취약한 것으로 판단
ls /opt/keycloak/lib/lib/main/org.keycloak.keycloak-*.jar 2>/dev/null | head -5 || find / -name 'keycloak*.jar' 2>/dev/null | head -5