🔍 CVE-2026-93999

4.2
CVSS Score
MEDIUM
2026-09-19
2026-09-22 19:37
✅ 완료

🇰🇷 한글 설명

오픈소스 ID 및 액세스 관리 솔루션인 Keycloak의 OIDC 프로토콜 구현에서 결함이 발견되었습니다. 토큰 갱신 과정 중 서버가 저장된 클라이언트 ID로부터 요청된 오디언스를 복구할 때, 대상 오디언스 클라이언트의 활성화 여부를 확인하지 않는 문제가 발생합니다. 이로 인해 기존 리프레시 토큰을 가진 애플리케이션이 비활성화된 클라이언트에 대해서도 유효한 액세스 토큰을 계속 발급받아 관리적 제어를 우회할 수 있습니다.

💡 쉬운 설명

사용 권한이 정지된 서비스임에도 불구하고, 기존에 가지고 있던 갱신용 열쇠를 이용해 계속해서 새로운 출입증을 받아낼 수 있는 보안 약점입니다. 관리자가 특정 서비스의 접근을 막아도 이미 연결된 앱은 계속해서 권한을 유지할 수 있습니다.

🇺🇸 원문 (English)

A flaw was found in the OIDC protocol implementation of Keycloak, an open-source identity and access management solution. The issue occurs during the token refresh process when the server restores requested audiences from stored client IDs. Keycloak fails to verify if the target audience client is still enabled before issuing a new access token. This allows an application with an existing refresh token to continue obtaining valid access tokens for a disabled client, potentially bypassing administrative access controls for resource servers that rely on offline JWT validation.

📍 영향받는 시스템

Keycloak (OIDC 프로토콜을 사용하는 모든 버전)

⚔️ 공격 벡터

기존에 발급받은 리프레시 토큰을 사용하여 비활성화된 클라이언트에 대한 액세스 토큰을 지속적으로 요청

🛡️ 대응 방법

Keycloak을 최신 보안 패치가 적용된 버전으로 업데이트하고, 토큰 갱신 시 클라이언트 상태를 검증하도록 설정 변경

🔧 검증 코드

비활성화된 클라이언트에 대한 리프레시 토큰 요청 시 새로운 access_token이 정상적으로 발급된다면 취약한 상태입니다.

Shell / Script
curl -s -X POST https://<keycloak-server>/auth/realms/<realm>/protocol/openid-connect/token -d 'grant_type=refresh_token&refresh_token=<token>' | grep -q 'access_token'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

IBM Security Verify Access