🇰🇷 한글 설명
Keycloak의 첫 번째 브로커 로그인 흐름에서 계정 연결 요청을 확인한 후 생성된 임시 증명(proof)이 적절히 삭제되지 않는 결함이 발견되었습니다. 공격자가 외부 ID를 제어할 경우, 남겨진 증명을 악용하여 사용자의 추가 확인 없이 피해자의 계정 연결을 재설정하고 무단 액세스를 수행할 수 있습니다.
💡 쉬운 설명
계정을 연결할 때 사용하는 일회용 인증 열쇠가 사용 후에도 버려지지 않고 남아있는 문제입니다. 해커가 이 남겨진 열쇠를 이용해 사용자의 허락 없이 몰래 계정을 다시 연결하고 접속할 수 있습니다.
🇺🇸 원문 (English)
A flaw was found in the first broker login flow of Keycloak. When a user confirms an account-linking request from a different browser, a temporary proof is created to validate the link. However, this proof is not properly cleared after the link is established or when the user later manually removes the link. An attacker who controls the external identity can exploit this leftover proof to silently re-establish the link and gain unauthorized access to the victims account without any further confirmation.
📍 영향받는 시스템
Keycloak (account-linking flow를 사용하는 버전)
⚔️ 공격 벡터
외부 ID 공급자(Identity Provider)를 제어하는 공격자가 남아있는 임시 증명을 사용하여 계정 연결을 재설정
🛡️ 대응 방법
Keycloak을 최신 보안 패치가 적용된 버전으로 업데이트하고 계정 연결 프로세스의 증명 삭제 로직을 확인하십시오.
🔧 검증 코드
출력된 설정 정보에서 현재 사용 중인 Keycloak의 버전이 취약점이 해결된 최신 버전인지 확인하십시오.
curl -s http://<keycloak-host>/auth/realms/<realm-name>/.well-known/openid-configuration | grep -i 'version'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
💻 영향받는 소프트웨어
IBM Verify Identity Access