🔍 CVE-2026-1486

8.8
CVSS Score
HIGH
2026-02-09
2026-07-15 02:18
✅ 완료

🇰🇷 한글 설명

Keycloak의 jwt-authorization-grant 흐름에서 Identity Provider(IdP)의 활성화 여부를 확인하지 않는 결함이 발견되었습니다. 관리자가 특정 IdP를 비활성화하더라도, 해당 IdP의 서명 키를 보유한 공격자는 유효한 JWT 어설션을 생성하여 Keycloak으로부터 액세스 토큰을 발급받을 수 있습니다.

💡 쉬운 설명

사용자 인증을 담당하는 서비스가 꺼져 있음에도 불구하고, 해당 서비스의 열쇠를 가진 사람이 가짜 신분증을 만들어 시스템에 침입할 수 있는 문제입니다. 관리자가 차단한 인증 수단이 여전히 통용될 수 있어 보안 위험이 큽니다.

🇺🇸 원문 (English)

A flaw was found in Keycloak. A vulnerability exists in the jwt-authorization-grant flow where the server fails to verify if an Identity Provider (IdP) is enabled before issuing tokens. The issuer lookup mechanism (lookupIdentityProviderFromIssuer) retrieves the IdP configuration but does not filter for isEnabled=false. If an administrator disables an IdP (e.g., due to a compromise or offboarding), an entity possessing that IdP's signing key can still generate valid JWT assertions that Keycloak accepts, resulting in the issuance of valid access tokens.

📍 영향받는 시스템

Keycloak (jwt-authorization-grant flow를 사용하는 버전)

⚔️ 공격 벡터

비활성화된 IdP의 서명 키를 탈취하여 유효한 JWT 어설션을 생성한 후 토큰 발급 요청

🛡️ 대응 방법

Keycloak을 최신 보안 패치가 적용된 버전으로 업데이트하고, IdP 비활성화 시 서명 키 접근 권한을 즉시 회수하십시오.

🔧 검증 코드

비활성화된 IdP의 키로 만든 토큰을 보냈을 때 access_token이 반환되면 취약한 상태이며, 오류가 발생해야 정상입니다.

Shell / Script
curl -s -X POST http://<keycloak-server>/auth/realms/<realm>/protocol/openid-connect/token -d "grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=<invalid-but-signed-jwt>" | grep -q "access_token"

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

IBM Verify Identity Access