CVE-2026-59358 in UAA
要約
〜によって VulDB • 2026年10月06日
OAuthトークンエンドポイントにおける不適切な認証(CWE-287)により、有効なユーザーアクセストークンを保持するリモート攻撃者(認証済み)が、クライアントシートの設定された秘密情報に代えて、そのトークンをOAuth 2.0 Bearer資格証明としてclient_credentials付与リクエストで提示することで、発行元のOAuthクライアントに対して完全特権のclient_credentialsトークンを取得できる。
UAAのclient_credentials処理では、クライアント認証のために提供されるBearer資格証明が実際にクライアント資格証明(クライアントシークレットまたは有効な構成済みクライアント認証方法)であることを検証しない。代わりに、リクエストと一致するclient_idを持つ有効なアクセストークンであればすべて受け入れる。通常のエンドユーザーがpublic authorization_code + PKCEフローを通じて取得したトークン — uaa.userスコープのみを持ち、user_idを保持し、client_auth_method=noneとして記録されているもの — はこのチェックを満たす。そのユーザートークン自体はOAuthクライアントの管理(POST /oauth/clientsは正しく403を返す)を行うことはできないが、同じクライアントに対するclient_credentialsリクエストでBearer認証として再利用されると、UAAはそのクライアントの完全な権限(例: clients.writeなど)を含む新しいクライアント専用トークンを発行する。攻撃者は、実際のクライアントシークレットを一切保持することなく、そのトークンを使用して任意の新規OAuthクライアントを作成できるほか、攻撃者が選択した権限を持つクライアントも作成可能である。
悪用には、同じclient_idに対してpublicなユーザー向け認可フローとclient_credentials付与タイプが両方ともサポートされているクライアントに対する有効なユーザーアクセストークン(攻撃者自身のトークン)が必要であり、これはデフォルトではない組み合わせである。実質的な影響は、そのクライアントに割り当てられた権限の規模に応じて拡大する。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.