GradioのJSONコンポーネントにおいて、ローカルファイルインクルージョン(LFI)の脆弱性が確認されました。この脆弱性は、/file=..エンドポイントを通じて機密ファイルにアクセスすることを可能にします。影響を受けるバージョンはGradio 4.25以前であり、バージョン4.31.3で修正されています。攻撃者は、JSONオブジェクト内のpathキーを悪用して、システム上のファイルを読み出す可能性があります。
このCVEがあなたのプロジェクトに影響するか確認
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。
影響と攻撃シナリオ
この脆弱性を悪用されると、攻撃者はGradioアプリケーションが実行されているサーバー上で任意のファイルを読み出すことが可能になります。これにより、ソースコード、設定ファイル、機密データなど、重要な情報が漏洩する可能性があります。攻撃者は、この脆弱性を利用して、システムへのさらなる侵入を試みることも考えられます。特に、Gradioアプリケーションが機密情報を扱う場合、この脆弱性の影響は甚大です。類似のLFI脆弱性は、情報漏洩やシステム制御の奪取につながる可能性があります。
悪用の状況
この脆弱性は、2024年6月6日に公開されました。現時点では、公的なPoCは確認されていませんが、脆弱性の性質上、悪用される可能性は高いと考えられます。CISAのKEVリストへの登録状況は不明です。NVDデータベースも参照し、最新の情報を確認することをお勧めします。
リスク対象者翻訳中…
Applications utilizing Gradio for building interactive web interfaces, particularly those handling sensitive data or deployed in environments with limited security controls, are at risk. This includes developers using Gradio for machine learning demos, data visualization tools, or internal dashboards.
検出手順翻訳中…
• python / gradio:
import os
import json
# Check for vulnerable Gradio versions
process = os.popen('pip show gradio')
output = process.read()
version = None
for line in output.splitlines():
if line.startswith('Version:'):
version = line.split('==')[1]
break
if version and float(version) <= 4.9.1:
print("VULNERABLE: Gradio version is {}".format(version))
else:
print("Gradio version is safe or not installed.")• generic web: Check Gradio application endpoints for the existence of /file=.. and attempt to access arbitrary files.
攻撃タイムライン
- Disclosure
disclosure
脅威インテリジェンス
エクスプロイト状況
EPSS
0.56% (68% パーセンタイル)
CISA SSVC
CVSS ベクトル
これらのメトリクスの意味は?
- Attack Vector
- ネットワーク — インターネット経由でリモートから悪用可能。物理・ローカルアクセス不要。
- Attack Complexity
- 低 — 特別な条件不要。安定して悪用可能。
- Privileges Required
- なし — 認証不要。資格情報なしで悪用可能。
- User Interaction
- なし — 自動かつ無音の攻撃。被害者は何もしない。
- Scope
- 変化なし — 影響は脆弱なコンポーネントのみ。
- Confidentiality
- 高 — 機密性の完全喪失。全データが読み取り可能。
- Integrity
- なし — 完全性への影響なし。
- Availability
- なし — 可用性への影響なし。
影響を受けるソフトウェア
弱点分類 (CWE)
タイムライン
- 予約済み
- 公開日
- 更新日
- EPSS 更新日
緩和策と回避策
Gradioのバージョンを4.31.3以降にアップデートすることが最も効果的な対策です。アップデートが困難な場合は、一時的な回避策として、/file=..エンドポイントへのアクセスを制限するWAFルールを実装することを検討してください。また、JSONデータの入力検証を強化し、pathキーの存在をチェックすることで、脆弱性の悪用を防止できます。Gradioアプリケーションのログを監視し、不審なアクセスがないか確認することも重要です。
修正方法翻訳中…
Actualice la biblioteca gradio a la versión 4.31.4 o superior. Esto corrige la vulnerabilidad de inclusión de archivos locales en el componente JSON. La actualización se puede realizar utilizando el gestor de paquetes pip: `pip install --upgrade gradio`.
CVEセキュリティニュースレター
脆弱性分析と重要アラートをメールでお届けします。
よくある質問
CVE-2024-4941 — ローカルファイルインクルージョン脆弱性はGradioで何ですか?
CVE-2024-4941は、GradioのJSONコンポーネントにおけるローカルファイルインクルージョン脆弱性です。攻撃者は、JSONオブジェクト内のpathキーを悪用し、機密ファイルにアクセスできます。
CVE-2024-4941でGradioを使用していますが、影響を受けますか?
Gradioのバージョンが4.9.1以下の場合、この脆弱性の影響を受けます。バージョン4.31.3以降にアップデートすることで、脆弱性を解消できます。
CVE-2024-4941でGradioを修正するにはどうすればよいですか?
Gradioのバージョンを4.31.3以降にアップデートしてください。アップデートが難しい場合は、WAFルールで/file=..エンドポイントへのアクセスを制限することを検討してください。
CVE-2024-4941は積極的に悪用されていますか?
現時点では公的なPoCは確認されていませんが、脆弱性の性質上、悪用される可能性は高いと考えられます。
CVE-2024-4941に関するGradioの公式アドバイザリはどこで入手できますか?
Gradioの公式アドバイザリは、Gradioのリリースノートやセキュリティアナウンスメントをご確認ください。