【高】CVE-2026-49119 Gradioのパストラバーサル脆弱性によるファイル外部参照リスクとAI Security対策ガイド

結論
- 危険度: High (CVSS 7.5)
- 対象: (詳細はベンダーアドバイザリ参照)
- 修正: ベンダーアドバイザリ参照
- KEV: No (NVD Critical由来。CISA KEVには未登録)
タイトルの緊急度プレフィックス(【至急】【最重大】等)の意味
| 表記 | 条件 | 意味 | 対応目安 |
|---|---|---|---|
| 【至急/ランサム悪用】 | CISA KEV登録 + ランサムウェア悪用観測 | ランサムグループが現在進行形で悪用 | 本日中に対応開始 |
| 【至急/重大】 | CISA KEV登録 + CVSS 9.0以上 | 実世界で攻撃観測あり + スコア極めて高い | 本日中に対応開始 |
| 【重大/KEV登録】 | CISA KEV登録(CVSS低またはNVD未反映) | 実世界で攻撃観測あり | 数日以内 |
| 【最重大】 | CVSS 9.5以上(KEV未登録) | 理論上の危険度ほぼ満点、攻撃観測はまだない | 1週間以内に対応計画 |
| 【重大】 | CVSS 9.0〜9.4(KEV未登録) | Critical帯の理論的高リスク | 1〜2週間以内 |
| 【高】 | CVSS 7.0〜8.9(KEV未登録) | High帯のリスク | 計画的に対応 |
| (プレフィックスなし) | CVSS 7.0未満 | Medium以下のリスク | 通常メンテで対応 |
「至急」と「最重大」の違い: 「至急」は CISA(米国政府機関)が 実際に悪用を観測した CVEに付与されます。「最重大」は CVSS スコア上は最高峰だが、まだ悪用観測がない ものです。同じCVSS 9.8でもKEV登録の有無で扱いが変わります。
最終更新: 2026-07-01 | 本記事は公式情報をもとに作成しています。最新情報はベンダー公式アドバイザリを必ずご確認ください。
| STEP | やること | かかる目安 |
|---|---|---|
| STEP 1 | 何が起きているか理解する | 3分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 5分〜環境による |
| STEP 4 | 修正を適用する | 環境による |
| STEP 5 | 修正されたことを確認する | 3分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-49119は、Gradioの6.16.0未満のバージョンに存在する脆弱性です。攻撃者は認証不要でファイル探索コンポーネントを操作し、管理者が設定したルートディレクトリ外のファイルを読み取れます。LLM GatewayやAI Agent運用者にとっては優先度の高い問題です。
やさしく説明すると
この脆弱性は、家の玄関に鍵がかかっていないようなものです。攻撃者は特別な合鍵も必要なく、知らない間に勝手に扉を開けて家の中の大切なものを勝手にのぞき見できます。ファイル探索の仕組みが「どこまでなら入っていいか」を正しく判断できていません。それで本来見せるべきでない秘密のファイルも丸見えになってしまいます。
技術的な原因
この脆弱性はCWE-22「ディレクトリ・トラバーサル(Path Traversal)」に分類されます。つまり、攻撃者はパス名の中に「../」のような上位ディレクトリへの移動を指示する文字列を挿入し、意図したルートディレクトリの境界を突破します。GradioのFileExplorerコンポーネントのpreprocess()関数内で、Pythonのos.path.joinを用いたパス結合処理が不適切に行われているため、攻撃者による絶対パスやトラバーサル文字列でルートディレクトリを無視してしまいます。
影響を受けると何が困るか
- AI GatewayやAgent環境で管理者設定を突破され、秘密のファイルが漏洩する
- プロンプトインジェクションを含む複合攻撃でエージェント乗っ取りの足がかりとなる
- .envファイルやAPIキーなど認証情報が外部にさらされるリスク
- モデルやRAG(Retrieval-Augmented Generation)用のデータ改ざんの可能性
- AI駆動開発ツール(Cursor、Cline、Copilotなど)を使う開発者のローカル環境への間接的侵害
- インフラ全体へ横展開し、機密性の高い情報へのアクセスが拡大する恐れ
もっと詳しく調べたい人へ — 公式情報源マップ
本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。
| カテゴリ | 情報源 | 言語 | 何が分かるか | リンク |
|---|---|---|---|---|
| 総合 | NVD(米国 NIST) | 英 | 米国政府の脆弱性データベース。CVSSスコア、影響を受けるCPE、参考リンクの総合ハブ。最も網羅的。 | 開く |
| 総合 | MITRE CVE | 英 | CVE採番機関の公式記録。CVE記述の「正本」。NVDより記載が簡潔だが一次情報。 | 開く |
| 総合 | JVN iPedia(JPCERT/CC・IPA) | 日 | 日本のCSIRTが運用する脆弱性対策情報データベース。日本語で概要・対策が読める。掲載がない場合あり。 | 開く |
| 総合 | CISA KEV(悪用観測カタログ) | 英 | 米国CISAが実際に悪用を確認している脆弱性のカタログ。掲載されていれば最優先で対応。 | 開く |
| 総合 | GitHub Advisory Database | 英 | OSSパッケージ(npm/pypi/maven/composer/go等)別の脆弱性アドバイザリ。修正PRへのリンクが豊富。 | 開く |
| 総合 | OpenCVE | 英 | 複数CVEデータベースの集約検索サービス。タイムラインや関連CVEの俯瞰に有用。 | 開く |
| Linux | Red Hat CVE | 英 | Red Hat製品(RHEL/CentOS Stream/Rocky/AlmaLinux系)の影響評価とパッチ状況。 | 開く |
| Linux | Ubuntu Security | 英 | Ubuntu の影響評価。各Ubuntuバージョン(22.04/24.04等)でのパッチ提供状況が一目で分かる。 | 開く |
| Linux | Debian Security Tracker | 英 | Debian の影響評価。stable/testing/sid別のパッチ状況。Debian派生ディストリ利用者向け。 | 開く |
| Linux | SUSE CVE | 英 | SUSE Linux Enterprise / openSUSE の影響評価とパッチ状況。 | 開く |
| 悪用 | Exploit Database | 英 | 公開エクスプロイトのアーカイブ。検出ツールやペネトレーションテストでの参照用。 | 開く |
| 悪用 | Packet Storm Security | 英 | セキュリティアドバイザリ・エクスプロイトの集約サイト。古めの情報も含む。 | 開く |
| 悪用 | GitHub PoC 検索 | 英 | GitHubコード検索でCVE IDを直接検索。野良PoCの早期発見に。 | 開く |
| 悪用 | X(Twitter)検索 | 日英 | 直近の議論やニュースを観測。In-the-wild悪用の早期検知に有用。 | 開く |
| スキャナ | Snyk Vulnerability DB | 英 | パッケージ別の脆弱性詳細と修正バージョン。OSS依存ライブラリ追跡に有用。 | 開く |
| スキャナ | Tenable(Nessus) | 英 | Nessusスキャナでの検出プラグイン情報。検出ロジックの参考に。 | 開く |
| スキャナ | Rapid7(Metasploit/Nexpose) | 英 | Metasploit悪用モジュール、Nexposeでの検出情報。 | 開く |
掲載しているのは無料でアクセスできる情報源のみです。CVEによっては掲載がないサイトもあります(特にJVN iPediaは日本国内で報告された脆弱性のみ掲載)。
STEP 2: 急ぎ対応すべきか判断する
結論: 高
判断根拠
- CVSS v3.1スコアは7.5でHighランク。ネットワーク経由で認証不要に攻撃可能なため実務的に怖い。
- EPSS(悪用予測スコア)は未提供、実際の悪用は未確認だが攻撃の敷居が低い点が警戒される。
- ランサムウェア悪用の報告は現在無し(Unknown)。
- 公開PoCは現時点でゼロ。武器化されている証拠はない。
- 攻撃はネットワーク経由で認証不要、ユーザ操作も不要(UI:N)。
- デフォルト設定に該当する可能性が高い。個別設定で回避できていない限り脆弱。
誰が動くべきか
- Gradioを使ってLLM GatewayやAI Agent環境を運用しているチーム
- Agenticフレームワークのファイル管理コンポーネントを扱う開発者
- CursorやCline、Copilot等のAI駆動開発においてGradioを組み込むプラグイン機能管理者
- MLインフラのSRE・SecOpsチーム
- AIセキュリティに関わるすべてのAI Security運用者
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| Gradio | 6.16.0 未満 | 6.16.0 以降 |
バージョン確認コマンド
Python環境(pip)
pip show gradio
出力例:
Name: gradio
Version: 6.15.2
Summary: Gradio: Create and share customizable UI components around your machine learning models
Home-page: https://gradio.app
判定: Version の値が 6.16.0 未満なら脆弱
Python環境(pipとgrep)
pip list | grep gradio
出力例:
gradio 6.15.2
判定: バージョンが 6.16.0 未満なら脆弱
設定確認
本脆弱性はファイル探索コンポーネントpreprocess()メソッドの実装に起因します。特定の設定依存はなく、バージョンが対象範囲内ならすべて影響を受けます。
Nucleiテンプレートでの検出
本脆弱性向けの公開Nucleiテンプレートは現時点で存在しません。検出はバージョン確認が最も確実です。
STEP 4: 修正を適用する
パッチ適用
Python環境(pip)
pip install --upgrade gradio
出力例:
Collecting gradio
Downloading gradio-6.16.0-py3-none-any.whl (5.1 MB)
Installing collected packages: gradio
Successfully installed gradio-6.16.0
判定: バージョンが 6.16.0 以上になれば修正済
注意: アップグレード時は必ず事前にバックアップを取得し、ステージング環境での動作検証を行ってください。
パッチ即時適用ができない場合の暫定対応
現状、公式としての暫定対応策は提示されていません。ファイル探索機能を含むコンポーネントのネットワークアクセスを制限し、不審なリクエストをWAFで遮断することが推奨されます。
STEP 5: 修正されたことを確認する
STEP 3で実施したバージョン確認コマンドをもう一度実行してください。新しいバージョンが適用されているかを確実に確認します。
期待される出力
Python環境(pip)
pip show gradio
出力例:
Name: gradio
Version: 6.16.0
Summary: Gradio: Create and share customizable UI components around your machine learning models
Home-page: https://gradio.app
判定: バージョンが 6.16.0 以上ならOK
追加で確認すべきこと
可能であれば、不審なファイルアクセスのログや不正リクエストの検知状況をAI Securityログ監視ツールで確認してください。Nucleiテンプレートがないため、バージョン管理による検証が中心となります。
補足: 悪用観測状況
現時点でCVE-2026-49119に関するランサムウェアグループによる悪用や公開PoCは確認されていません。GitHubでのPoC公開リポジトリやExploitタグも存在しません。
しかし攻撃は認証不要でネットワーク経由で可能なため、今後の悪用開始には注意が必要です。
補足: CVSSメトリクス詳細
- AV(攻撃元・Attack Vector): NETWORK(ネットワーク経由)
- AC(攻撃複雑度・Attack Complexity): LOW(攻撃の難易度は低い)
- PR(必要権限・Privileges Required): NONE(権限不要)
- UI(ユーザ操作・User Interaction): NONE(ユーザ操作不要)
- S(スコープ・Scope): UNCHANGED(スコープは変更なし)
- C(機密性影響・Confidentiality Impact): HIGH(機密性が大きく損なわれる)
- I(完全性影響・Integrity Impact): NONE(完全性は影響なし)
- A(可用性影響・Availability Impact): NONE(可用性は影響なし)
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. まず、STEP 3で自分の環境のGradioのバージョンを確認し、6.16.0未満の場合はSTEP 4でアップグレードしてください。その後、STEP 5で修正が反映されていることを確認しましょう。
Q. パッチが適用できない場合、どうすればよいですか?
A. 公式の暫定対応はありませんが、WAF/IPSで不審なファイル操作リクエストを遮断し、Gradioのファイル探索機能へのアクセスを限定してください。ネットワーク隔離も有効です。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. 攻撃検出はログ監視が基本です。ルートディレクトリ外のファイルアクセスがあれば疑わしいため、ファイルアクセスログやAPIアクセスログを精査してください。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは技術的な深刻度を示しますが、EPSSは「実際に悪用される確率」を示します。両方参照することで、現実的な優先度判断が可能です。
Q. このCVEと類似の脆弱性は他にもありますか?
A. CWE-22に分類されるディレクトリトラバーサル脆弱性は他製品でも多く報告されています。ファイルパス処理の安全性を常に見直すことが重要です。
参考文献
- NVD: CVE-2026-49119詳細
- Gradio GitHub修正コミット
- Gradio GitHub修正プルリクエスト
- Gradio 6.16.0リリース
- VulnCheckによる脆弱性解説
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
2026-07-02 追記
本記事の公開後、以下の重要な変化が確認されました(公開からの経過: 0日)。
| 項目 | 公開時点 | 2026-07-02時点 | 変化の意味 |
|---|---|---|---|
| 新規GHSAアドバイザリ | 0件 | 1件 | 新たなGitHub Security Advisoryが発行 |
新規GHSAアドバイザリの発行
公開時点ではGitHub Security Advisory(GHSA)が発行されていませんでしたが、新たに1件のGHSAが追加されました。これは、開発者や運用担当者にとって重要な公式情報源が増えたことを意味します。GHSAは、パッケージ管理環境(npm、pip、composer等)と連動したリスク管理や自動アラート、セキュリティアップデートの自動取得などにも活用されます。
この変化により、関連ソフトウェアをGitHub経由で管理している環境では、GHSAの通達による追加の注意喚起やアップデート情報の自動展開が期待できます。引き続き、公式リポジトリやGHSAページで追加情報や対応策が提示されていないか確認してください。CI/CD連携やDependabot等を利用している場合も、ワークフローへの影響が想定されますので、早めの情報キャッチアップと必要に応じた制御設定の更新を推奨します。
2026-07-09 追記
本記事の公開後、以下の重要な変化が確認されました(公開からの経過: 6日)。
| 項目 | 公開時点 | 2026-07-09時点 | 変化の意味 |
|---|---|---|---|
| 新規GHSAアドバイザリ | 0件 | 1件 | 新たなGitHub Security Advisoryが発行 |
| 結論ボックスの対象範囲が未記入 | (詳細はベンダーアドバイザリ参照) | cpe:2.3:a:gradio_project:gradio:*:*:*:*:*:python:*:* <6.16.0 | 公開時は具体的な対象範囲が不明だったが、現在は確定済み(記事生成時の凡ミス補正) |
| 結論ボックスの修正バージョンが未記入 | ベンダーアドバイザリ参照 | 3件のパッチリンクあり(https://github.com/gradio-app/gradio/commit/97d541f3d5fd05b2587a69ecc94b68fe5d2d7004 等) | 公開時は修正版情報が結論ボックスにテンプレ文字列のまま残っていた。現在は具体的な修正版が判明(記事生成時の凡ミス補正) |
新規GHSAアドバイザリ
公開時点ではGitHub Security Advisory(GHSA)は0件でしたが、現在は1件のGHSAが新たに追加されています。GHSAの発行により、GitHubを利用した自動アラートや依存関係チェックなどの運用面で即時性が向上し、開発者や運用管理者がより確実にこの脆弱性への対策を把握できるようになりました。GHSAがあることで、CI/CD環境やGitHub経由でパッケージを導入している開発組織は自動通知や依存パッケージ監査の恩恵を受けやすくなります。対象のGradioパッケージを利用している場合、GHSAの内容をもとに早期のアップデート検討を推奨します。
結論ボックスの対象範囲が未記入
記事公開時は結論ボックス内の「対象範囲」に具体的な情報がなく、(詳細はベンダーアドバイザリ参照)との記載に留まっていましたが、現在は「cpe:2.3:a:gradio_project:gradio:*:*:*:*:*:python:*:* <6.16.0」と明示されています。これにより、読者や運用担当者はどのバージョンが影響を受けるのかを手元のパッケージリストやSCAツールと比較してダイレクトに確認できるようになりました。具体的な対応計画や影響調査の精度が大幅に向上したため、該当範囲にある導入環境では直ちにバージョン確認を行うことを推奨します。
結論ボックスの修正バージョンが未記入
当初「修正」欄には「ベンダーアドバイザリ参照」とのみ表記されていましたが、現在は「3件のパッチリンクあり(https://github.com/gradio-app/gradio/commit/97d541f3d5fd05b2587a69ecc94b68fe5d2d7004 等)」と具体的な修正版が明記されています。これにより、システム担当者や開発者はGradioのどの変更で対策が導入されたかを直接確認でき、手動によるパッチ適用やアップデート計画がより実行しやすくなっています。該当脆弱性への対応として、該当コミットやPull Requestを参照し、6.16.0以降へのバージョンアップ、またはパッチ適用を強く推奨します。
