🇰🇷 한글 설명
오픈소스 ID 및 액세스 관리 솔루션인 Keycloak의 Admin REST API에서 결함이 발견되었습니다. API가 클라이언트 식별자를 확인하는 과정에서 요청 경로에 지정된 렐름(Realm) 소속 여부를 검증하지 않아, 권한이 제한된 관리자가 자신이 제어하는 렐름을 통해 마스터 렐름의 민감한 클라이언트 설정을 읽거나 수정할 수 있습니다.
💡 쉬운 설명
관리자 권한이 낮은 사용자가 자신이 관리하는 영역을 통해 시스템 전체의 중요한 설정에 접근할 수 있는 보안 허점입니다. 이를 통해 중요한 비밀번호가 유출되거나 로그인 페이지가 가짜 사이트로 연결될 위험이 있습니다.
🇺🇸 원문 (English)
A flaw was found in the Admin REST API of Keycloak, an open-source identity and access management solution. The issue occurs because the API uses a per-request in-memory cache to resolve clients by their unique identifier without verifying if the client belongs to the realm specified in the request path. This allows an administrator with limited privileges to read or modify sensitive client configurations in the master realm by accessing them through a realm they control. Successful exploitation could lead to the exposure of client credentials or the redirection of administrative login attempts to malicious sites.
📍 영향받는 시스템
Keycloak Admin REST API를 사용하는 버전 (정확한 버전 명시 필요)
⚔️ 공격 벡터
제한된 권한을 가진 관리자가 자신이 제어하는 렐름을 통해 마스터 렐름의 클라이언트 ID를 호출하여 접근
🛡️ 대응 방법
Keycloak을 최신 보안 패치가 적용된 버전으로 업데이트하고 API의 렐름 검증 로직을 확인하십시오.
🔧 검증 코드
명령어 실행 시 마스터 렐름의 클라이언트 정보가 반환되지 않고 오류(403 Forbidden 등)가 발생해야 안전합니다.
curl -s -u admin:password https://<keycloak-host>/admin/realms/<controlled-realm>/clients/<master-realm-client-id> | grep -q 'error'