CVE-2026-46678 Pydantic AIのIPv6変換経由IAM情報漏洩脆弱性対策ガイド AI Security/LangChain開発者必見

結論
- 危険度: Medium (CVSS 6.8)
- 対象: pydantic-ai >= 1.56.0, < 1.99.0 / pydantic-ai-slim >= 1.56.0, < 1.99.0
- 修正: 1.99.0
- 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-29 | 本記事は公式情報をもとに作成しています。最新情報はベンダー公式アドバイザリを必ずご確認ください。
| STEP | やること | かかる目安 |
|---|---|---|
| STEP 1 | 何が起きているか理解する | 3分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 5分 |
| STEP 4 | 修正を適用する | 内容による |
| STEP 5 | 修正されたことを確認する | 3分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-46678は、PythonのAgentフレームワーク「pydantic-ai」で発生した脆弱性です。攻撃者は特定条件下で内部クラウドのIAM短期認証情報を不正取得できます。LLMゲートウェイ運用者やAgentフレームワーク運用者は最優先で対応すべき問題です。
やさしく説明すると
イメージは、家の玄関に使う電子鍵が「内部だけ施錠」なのに、特殊な合鍵の変形によって中に入られてしまうイメージです。pydantic-aiでURLをダウンロード処理するとき、ある設定を有効にすると内部クラウドの認証情報を隠す処理が解除されます。IPv6の特殊な表記を用いると見逃され、不正アクセスに使われる恐れがあります。つまり、安全のための鍵がかけきれていなかったのです。
技術的な原因
この問題は、CWE-918(不完全な防御回避)に分類されます。pydantic-aiのforce_downloadオプションにallow-localを指定するとローカルIPブロックを解除しますが、IPアドレスのIPv6トランジション表現(IPv4-mapped IPv6、6to4、NAT64)を経由するとクラウドメタデータエンドポイントのブロックを回避されます。前件CVE-2026-25580の修正はIPv6表現を考慮していなかった不完全なものでした。
影響を受けると何が困るか
- クラウドIAMの短期認証情報が漏洩し、悪用されるリスク
- LLMコンテキストや顧客データの外部流出
- Agentフレームワークを利用したAI Gatewayでの権限乗っ取り
- APIキーや内部トークンの漏洩により請求コストの爆増
- テナントやユーザー間の情報隔離が破壊される恐れ
- AIコーディングツール経由で設定ファイルや秘密情報の読み取りリスク
もっと詳しく調べたい人へ — 公式情報源マップ
本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。
| カテゴリ | 情報源 | 言語 | 何が分かるか | リンク |
|---|---|---|---|---|
| 総合 | 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スコアは6.8(Medium)。ネットワーク経由で認証不要の攻撃も可能だが、攻撃の複雑度は高い。
- EPSSスコアの提供なし。悪用確率の予測データは未公開。
- ランサムウェアによる悪用の報告は今のところなし。
- 公開PoCや具体的な攻撃例は存在しない。
- 悪用に必要な条件は、アプリケーションが危険な設定(force_download=’allow-local’)を明示的に使うこと。
誰が動くべきか
- LLM Gateway 運用チーム(pydantic-ai利用者)
- Agentフレームワーク開発者、特にURLダウンロード機能を使う場合
- バイブコーダー開発者でpydantic-ai組み込みまたは間接利用がある場合
- AIプロダクトセキュリティチーム、SecOpsやSREチーム
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| pydantic-ai | ≥ 1.56.0、< 1.99.0 | 1.99.0 |
| pydantic-ai-slim | ≥ 1.56.0、< 1.99.0 | 1.99.0 |
バージョン確認コマンド
Python(pip)
pip show pydantic-ai
出力例:
Name: pydantic-ai
Version: 1.98.0
Summary: Python Agent framework for Generative AI
...
判定: バージョンが 1.56.0 以上 1.99.0 未満なら脆弱
Python(pip)
pip show pydantic-ai-slim
出力例:
Name: pydantic-ai-slim
Version: 1.57.3
Summary: Lightweight Python Agent framework
...
判定: バージョンが 1.56.0 以上 1.99.0 未満なら脆弱
設定確認
この脆弱性はアプリケーションが force_download='allow-local' を明示的に設定した場合にのみ影響します。したがって、設定ファイルやコード内で該当設定を確認してください。設定依存のため、このオプション未使用なら脆弱性は発生しません。
Nucleiテンプレートでの検出
本脆弱性に関する公開Nucleiテンプレートはありません。バージョン確認と設定確認で対応してください。
STEP 4: 修正を適用する
パッチ適用
Python(pip)
pip install --upgrade pydantic-ai
判定: バージョンが 1.99.0 以上になれば修正済
Python(pip)
pip install --upgrade pydantic-ai-slim
判定: バージョンが 1.99.0 以上になれば修正済
注意: パッチ適用前に必ずソースコードのバックアップとステージング環境での動作検証を行ってください。修正後に既存機能に影響が出る場合もあるため、ダウンタイムやロールバック計画も準備しておきましょう。
パッチ即時適用ができない場合の暫定対応
公式の暫定対応は提示されていません。できるだけ早く force_download='allow-local' の使用を中止し、信頼されていない入力に対して当該設定を使わない運用ルールを徹底してください。
STEP 5: 修正されたことを確認する
STEP 3で実行したバージョン確認コマンドを、再度実行してください。
期待される出力
Python(pip)
pip show pydantic-ai
出力例:
Name: pydantic-ai
Version: 1.99.0
Summary: Python Agent framework for Generative AI
...
判定: バージョンが 1.99.0 以上ならOK
Python(pip)
pip show pydantic-ai-slim
出力例:
Name: pydantic-ai-slim
Version: 1.99.1
Summary: Lightweight Python Agent framework
...
判定: バージョンが 1.99.0 以上ならOK
追加で確認すべきこと
設定ファイルに危険な force_download='allow-local' が残っていないか再確認してください。可能ならNucleiテンプレートが公開されてからのスキャン実施や、ログに不審なクラウドメタデータへのアクセス履歴がないかの監査も推奨します。
補足: 悪用観測状況
現時点で公開されているPoCコードや具体的な悪用報告はありません。GitHub Advisory Databaseにも攻撃ツールは未掲載です。ランサムウェアグループによる利用も確認されていません。最新の悪用情報は公式情報源で随時確認してください。
補足: CVSSメトリクス詳細
- AV(Attack Vector:攻撃元): NETWORK(ネットワーク越しに攻撃可能)
- AC(Attack Complexity:攻撃複雑度): HIGH(攻撃成功には高度な条件や複雑な手順が必要)
- PR(Privileges Required:必要権限): NONE(認証や権限なしで攻撃可能)
- UI(User Interaction:ユーザ操作): NONE(ユーザ操作を必要としない)
- S(Scope:影響範囲): CHANGED(影響が同一コンポーネント外まで及ぶ)
- C(Confidentiality:機密性影響): HIGH(機密情報の漏洩が発生)
- I(Integrity:完全性影響): NONE(改ざん等は発生しない)
- A(Availability:可用性影響): NONE(サービス停止や障害は発生しない)
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. まず、自分の環境のpydantic-aiのバージョンを確認し(STEP 3)、脆弱なバージョンなら速やかに1.99.0以上へアップグレードしてください(STEP 4、5)。使用中の force_download='allow-local' 設定もチェックが必要です。
Q. パッチが適用できない場合、どうすればよいですか?
A. 現時点で暫定対応策は公式にありません。可能な限り force_download='allow-local' の使用を停止し、信頼しない入力を利用しない運用に切り替えてください。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. クラウドメタデータ(IPやURL)へ内部アクセスのログ監査が有効です。外部にクラウド短期認証情報が漏れるような通信履歴がないかを確認してください。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは技術的な深刻度を示しますが、EPSSは「実際に悪用される確率」を示します。両方を見ることで対応優先度をより正確に判断できます。今回のCVEはEPSSデータがまだありません。
Q. このCVEと類似の脆弱性は他にもありますか?
A. はい。今回の問題はCWE-918(不完全な防御回避)に該当し、以前のCVE-2026-25580と関連しています。同様のIPv6経路回避を狙った問題が多く報告されています。
参考文献
- NVD: CVE-2026-46678
- pydantic-ai v1.99.0 リリースノート
- GitHub Advisory: GHSA-cqp8-fcvh-x7r3
- GitHub Advisory Database
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
