プラットフォーム
java
コンポーネント
keycloak
修正版
1.10.0
2.5.4
Keycloakにおいて、クロスオリジンリソース共有(CORS)ヘッダーインジェクションの脆弱性が発見されました。この脆弱性は、攻撃者がJWTのazpクレームを操作することで、意図しないCORS originを設定し、機密情報へのアクセスを試みることを可能にします。影響を受けるバージョンはKeycloak 1.0.0から2.5.3です。現在、この脆弱性は2.5.4で修正されています。
KeycloakのUMA(User-Managed Access)トークンエンドポイントにおいて、Cross-Origin Resource Sharing (CORS) ヘッダーインジェクションの脆弱性が確認されました。特にRed Hat Build版に該当します。攻撃者は、悪意のあるJSON Web Token (JWT) を作成することで、この脆弱性を悪用できます。問題点は、クライアントから提供されたJWTのazpクレームが、JWTの署名検証を行う前に、Access-Control-Allow-Originヘッダーを設定するために使用されることです。その結果、攻撃者は、自身が制御できるazp値を持つJWTを提供することができ、その値が署名検証が後で失敗した場合でも、CORSのオリジンとして反映されます。これにより、攻撃者はCORSの制限を回避し、保護されたリソースにアクセスできる可能性があり、データ侵害や不正なアクションにつながる可能性があります。
攻撃者は、特別に作成されたJWTをKeycloak UMAトークンエンドポイントに送信することで、この脆弱性を悪用できます。JWTには、攻撃者が制御する悪意のあるazpクレームが含まれます。脆弱性により、このazp値が直接Access-Control-Allow-Originヘッダーに反映されます。これにより、攻撃者はazpクレームで指定されたオリジンから保護されたリソースへのリクエストを送信でき、意図されたセキュリティコントロールを回避する可能性があります。CORSヘッダーの使用前にazpクレームを事前に検証しないことが、この脆弱性の根本原因です。
Organizations utilizing Keycloak for authentication and authorization, particularly those relying on User-Managed Access (UMA) and JWT-based authentication, are at risk. Deployments with relaxed CORS policies or those using older, vulnerable versions of Keycloak are especially susceptible.
• java / server:
# Check Keycloak version
java -jar keycloak.jar --version• java / server:
# Examine Keycloak logs for unusual CORS header settings or JWT validation errors.
grep -i 'cors origin' /path/to/keycloak/logs/keycloak.log• generic web:
# Attempt to trigger the vulnerability by sending a crafted JWT with a malicious azp claim.
curl -H "Authorization: Bearer <crafted_jwt>" <keycloak_uma_endpoint>disclosure
エクスプロイト状況
EPSS
0.01% (1% パーセンタイル)
CISA SSVC
この脆弱性に対する主な軽減策は、Keycloak Red Hat Buildをバージョン2.5.4以降にアップグレードすることです。このバージョンには、azpクレームをAccess-Control-Allow-Originヘッダーを設定する前に検証する修正が含まれており、CORSインジェクションを防ぎます。さらに、KeycloakのCORSポリシーを見直し、強化して、保護されたリソースへのアクセスを信頼できるオリジンに制限することをお勧めします。Keycloakのログを定期的に監視して、JWTの操作に関連する疑わしいパターンを検出し、潜在的な攻撃を防止することが重要です。迅速なパッチ適用が、悪用のリスクを最小限に抑えるために不可欠です。
Actualice Keycloak a la versión 2.5.4 o superior para mitigar la vulnerabilidad. La actualización corrige la validación del claim `azp` en el token JWT, previniendo la inyección de encabezados CORS. Asegúrese de revisar la documentación de Red Hat para obtener instrucciones específicas de actualización para su entorno.
脆弱性分析と重要アラートをメールでお届けします。
CORS(Cross-Origin Resource Sharing)は、あるオリジンからのWebページが、別のオリジンからのリソースにアクセスする方法を制御するメカニズムです。
これにより、攻撃者はCORSの制限を回避し、機密データにアクセスしたり、不正なアクションを実行したりする可能性があります。
CORSポリシーを強化したり、Keycloakログを監視したりするなど、追加のセキュリティ対策を実装してください。
はい、脆弱性スキャナはこの問題を検出できますが、修正されたバージョンにパッチを適用するのが最良の解決策です。
Keycloak Red Hat Buildのバージョン2.5.4より前のバージョンを使用している場合は、影響を受けている可能性が高いです。
CVSS ベクトル
pom.xml ファイルをアップロードすると、影響の有無を即座にお知らせします。