🔍 CVE-2026-117627

5.4
CVSS Score
MEDIUM
2026-10-29
2026-11-03 16:17
✅ 완료

🇰🇷 한글 설명

keycloak-services 구성요소의 JWT Authorization Grant 구현에 결함이 발견되었습니다. OIDC 또는 Google 아이덴티티 프로바이더에 클레임 필터링 등 특정 로그인 제한이 설정된 경우, 표준 브라우저 로그인에서는 이 검사가 올바르게 적용되지만 JWT 기반 grant 흐름에서는 건너뛰어집니다. 이로 인해 인증된 클라이언트가 아이덴티티 프로바이더 클레임상 로그인이 차단되어야 할 사용자에 대해서도 액세스 토큰을 획득할 수 있습니다.

💡 쉬운 설명

사용자의 로그인을 막아야 하는 보안 규칙이 특정 로그인 방식에서는 적용되지 않는 문제입니다. 인증된 프로그램이 이 허점을 이용해 본래 접근이 차단되어야 할 사용자의 토큰을 발급받을 수 있습니다.

🇺🇸 원문 (English)

A flaw was found in the JWT Authorization Grant implementation of the keycloak-services component. When an OIDC or Google identity provider is configured with specific login restrictions, such as claim filtering, these checks are correctly applied during standard browser logins but are skipped during the JWT-based grant flow. This allows an authenticated client to obtain access tokens for a user even if their identity provider claims should have blocked the login.

📍 영향받는 시스템

Keycloak (keycloak-services 구성요소, 영향 버전은 공식 권고문 확인 필요)

⚔️ 공격 벡터

인증된 클라이언트가 JWT Authorization Grant 흐름을 통해 로그인 제한을 우회하여 사용자 액세스 토큰을 요청

🛡️ 대응 방법

공식 패치가 적용된 Keycloak 최신 버전으로 업그레이드하고, 권고된 패치 릴리스를 확인

🔧 검증 코드

출력된 Keycloak 버전을 공식 보안 권고문의 취약 버전 범위와 비교하여, 패치된 버전 이상이면 안전하고 그 이하이면 취약합니다. 'keycloak not found'가 나오면 설치 경로를 직접 확인해야 합니다.

Shell / Script
docker exec $(docker ps -qf 'ancestor=quay.io/keycloak/keycloak') /opt/keycloak/bin/kc.sh --version 2>/dev/null || (command -v kc.sh >/dev/null && kc.sh --version) || echo 'keycloak not found'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N