CVE-2026-28415: GradioにおけるOAuthフローのオープンリダイレクトの脆弱性

February 28, 2026 ·

概要

オープンソースのPythonパッケージであるGradioにおいて、OAuth認証フローにオープンリダイレクトの脆弱性(CVE-2026-28415)が報告されました。この脆弱性は、Gradioの_redirect_to_target()関数が、クエリパラメータ_target_urlの値を適切に検証せずに受け入れてしまうことに起因します。これにより、攻撃者が細工したURLを通じて、ユーザーを任意の外部URLへリダイレクトさせることが可能になる可能性があります。本脆弱性の深刻度は「MEDIUM」と評価されています。

影響範囲

  • 対象製品: Gradio (Pythonパッケージ)
  • 影響を受けるバージョン: バージョン6.6.0より前のGradio
  • 影響を受ける機能: OAuth認証が有効になっているGradioアプリケーション(例: Hugging Face Spaces上でgr.LoginButtonを使用しているアプリ)
  • 影響を受けるエンドポイント: /logout および /login/callback

想定される影響

この脆弱性が悪用された場合、以下のような影響が想定されます。

  • フィッシング攻撃: ユーザーが正規のGradioアプリから、攻撃者が用意した偽のログインページや悪意のあるウェブサイトへリダイレクトされ、認証情報が窃取される可能性があります。
  • マルウェア配布: ユーザーが意図せずマルウェアをダウンロードさせられるウェブサイトへ誘導される可能性があります。
  • 信頼性の低下: Gradioアプリのユーザーがセキュリティ上の懸念を抱き、サービスの信頼性が損なわれる可能性があります。

攻撃成立条件・悪用状況

  • 攻撃成立条件: 攻撃者が細工したURLをユーザーにクリックさせる必要があります。また、対象のGradioアプリがOAuth機能を有効にしており、脆弱なバージョン(6.6.0未満)を使用していることが条件となります。
  • 悪用状況: 現在のところ、この脆弱性が実際に悪用されているという具体的な報告は、公開情報からは確認されていません。

推奨対策

今すぐできる対策(最優先)

  • Gradioのアップデート: Gradioをバージョン6.6.0以降に速やかにアップデートしてください。バージョン6.6.0では、_target_urlパラメータがサニタイズされ、スキームやホストが除去されることで、パス、クエリ、フラグメントのみが使用されるように修正されています。

中長期的な対策

  • 開発者向け: ユーザー入力に基づいてリダイレクトを行う機能を持つ場合、常にターゲットURLの厳格な検証を実装し、許可されたドメインやパスのみに制限するよう徹底してください。

一時的な緩和策

Gradioのアップデートがすぐに実施できない場合、直接的な緩和策は限定的です。しかし、以下の点を考慮することでリスクを軽減できる可能性があります。

  • ユーザーへの注意喚起: 不審なリンクをクリックしないよう、ユーザーに注意を促すセキュリティ意識向上トレーニングを実施してください。
  • OAuth機能の一時的な無効化: 可能であれば、アップデートが完了するまでGradioアプリのOAuth機能を一時的に無効にすることも検討できます。ただし、これはサービス運用に影響を与える可能性があります。

確認方法

  • Gradioのバージョン確認: 現在使用しているGradioのバージョンを確認してください。
  • OAuth機能の有効性確認: 自身のGradioアプリケーションでOAuth機能が有効になっているか、特にgr.LoginButtonを使用しているかを確認してください。

参考情報