概要
Gradioは、機械学習モデルなどのプロトタイプを迅速に作成するためのオープンソースのPythonパッケージです。このGradioにおいて、バージョン6.6.0未満にサーバーサイドリクエストフォージェリ(SSRF)の脆弱性(CVE-2026-28416)が発見されました。
この脆弱性は、被害側のアプリケーションがgr.load()関数を使用して、攻撃者が制御する悪意のあるGradio Spaceをロードする際に発生する可能性があります。悪意のあるproxy_urlが設定情報から信頼され、許可リストに追加されることで、攻撃者は被害側のサーバーから任意のHTTPリクエストを送信できるようになる、と報告されています。
影響範囲
- Gradioのバージョン6.6.0未満を使用しているシステムが影響を受ける可能性があります。
- 特に、アプリケーションが外部のGradio Spaceを
gr.load()関数でロードしている場合に影響を受ける可能性があります。
想定される影響
この脆弱性が悪用された場合、攻撃者は被害側のインフラストラクチャを介して、以下のような内部リソースにアクセスできる可能性があります。
- 内部サービスへのアクセス
- クラウドメタデータエンドポイントへのアクセス
- プライベートネットワークへのアクセス
これにより、機密情報の漏洩や、さらなる攻撃の足がかりとなるリスクが考えられます。
攻撃成立条件・悪用状況
攻撃が成立するためには、以下の条件が満たされる必要があります。
- 攻撃者が悪意のあるGradio Spaceをホストしていること。
- 被害側のアプリケーションが、その攻撃者によって制御されるGradio Spaceを
gr.load()関数でロードすること。
現時点では、この脆弱性の具体的な悪用状況に関する詳細な情報は確認されていません。
推奨対策
優先度の高い対策(今すぐできる対策)
- Gradioのバージョンアップ: Gradioをバージョン6.6.0以降に速やかにアップデートしてください。このバージョンで本脆弱性は修正されています。
中長期的な対策
- 外部コンテンツの信頼性評価:
gr.load()関数を使用して外部のGradio Spaceをロードする場合、そのソースの信頼性を厳格に評価し、信頼できないソースからのロードは避けるようにしてください。 - サンドボックス環境の検討: 外部からロードするコンテンツを実行する際は、可能な限りサンドボックス化された環境や、ネットワーク分離された環境での実行を検討してください。
一時的な緩和策
gr.load()関数による外部Gradio Spaceのロードを一時的に停止するか、信頼できると明確に判断できるソースからのロードのみに限定することを検討してください。
確認方法
現在使用しているGradioのバージョンは、Python環境で以下のコマンドを実行することで確認できます。
pip show gradio
出力される「Version:」の項目を確認し、6.6.0未満である場合は速やかなアップデートを推奨します。
参考情報
- CVEfeed.io: https://cvefeed.io/vuln/detail/CVE-2026-28416