🇰🇷 한글 설명
Keycloak에서 결함이 발견되었습니다. 인증된 클라이언트가 Authorization Services Protection API 엔드포인트의 IDOR(안전하지 않은 직접 객체 참조) 취약점을 악용할 수 있습니다. 동일 realm 내 다른 Resource Server의 리소스 UUID를 알거나 획득하면 권한 검사를 우회하여 GET, PUT, DELETE 작업을 수행할 수 있습니다.
💡 쉬운 설명
로그인된 사용자가 다른 서비스의 자원 고유 번호만 알면 권한 확인을 건너뛰고 접근할 수 있습니다. 이로 인해 정보가 노출되거나 데이터가 임의로 수정 또는 삭제될 수 있습니다.
🇺🇸 원문 (English)
A flaw was found in Keycloak. An authenticated client could exploit an Insecure Direct Object Reference (IDOR) vulnerability in the Authorization Services Protection API endpoint. By knowing or obtaining a resource's unique identifier (UUID) belonging to another Resource Server within the same realm, the client could bypass authorization checks. This allows the client to perform unauthorized GET, PUT, and DELETE operations on resources, leading to information disclosure and potential unauthorized modification or deletion of data.
📍 영향받는 시스템
Keycloak (Authorization Services 사용 환경, 해당 버전은 공식 권고문 확인 필요)
⚔️ 공격 벡터
인증된 클라이언트가 같은 realm 내 다른 Resource Server의 리소스 UUID를 이용해 Protection API로 무단 조회, 수정, 삭제 요청을 보냄
🛡️ 대응 방법
Keycloak을 제조사가 제공하는 최신 패치 버전으로 업그레이드
🔧 검증 코드
출력된 버전이 공식 패치가 적용된 수정 버전 이상이면 조치 완료, 이전 버전이면 업그레이드가 필요합니다. 설치 경로가 다르면 경로를 환경에 맞게 수정하세요.
keycloak_ver=$(/opt/keycloak/bin/kc.sh --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'); echo "Keycloak version: ${keycloak_ver:-not found}"