CVE-2026-7846 Langchain-ChatchatのTOCTOU脆弱性によるファイルアップロード攻撃対策 AI Security実務ガイド

結論
- 危険度: Low (CVSS 2.6)
- 対象: langchain-chatchat <= 0.3.1.3
- 修正: ベンダーアドバイザリ参照
- 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-05-12 | 本記事は公式情報をもとに作成しています。最新情報はベンダー公式アドバイザリを必ずご確認ください。
| STEP | やること | かかる目安 |
|---|---|---|
| STEP 1 | 何が起きているか理解する | 5分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 環境による |
| STEP 4 | 修正を適用する | 環境依存(30分〜) |
| STEP 5 | 修正されたことを確認する | 5分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-7846は、langchain-chatchat(バージョン0.3.1.3以下)のOpenAI互換ファイルアップロードAPIにおいて、攻撃者がファイル名の引数を操作することで同期のタイミングをずらす「競合状態(Race Condition)」を発生させられます。これにより、内部の処理を不正に動かせる可能性があり、LLMゲートウェイの運用者にとって注意が必要です。
やさしく説明すると
これはたとえると、玄関の鍵をチェックしてから使うまでの間に、誰かが合鍵を使って勝手にドアを開けてしまうようなものです。ファイルの名前を確認するタイミングとその後の利用タイミングにズレが生じているため、攻撃者がそれをついて不正操作が可能になるわけです。悪用には同じネットワーク内からのアクセスが必要で、かなり技術的に難しい攻撃になります。
技術的な原因
この脆弱性はCWE-362(競合状態)とCWE-367(タイム・オブ・チェック・トゥ・タイム・オブ・ユース、略してTOCTOU)に分類されます。競合状態とは、プログラムのある状態をチェックした直後に、その前提が変わってしまうことです。TOCTOUはチェックと使用の間に時間差があるために起こる問題です。攻撃者がファイル名引数を細工することで、この差をついて意図しない処理を発生させます。
APIの内部関数がファイル名を信頼して処理している設計上の問題です。ネットワーク経由での攻撃なので、攻撃元はローカルネットワーク内にいる必要があり、リモートからの直接攻撃は困難です。
影響を受けると何が困るか
- APIのファイルアップロード処理を不正に操作され、LLM機能やRAG(リトリーバル強化生成)パイプラインに影響が及ぶ可能性
- エージェントフレームワークの誤動作や乗っ取りにつながる恐れ
- AI Gateway経由の不正なファイル操作によるコンテキストデータ改ざんリスク
- LLM ProxyやMCPサーバなどインフラ全体への悪用横展開の懸念
- バイブコーダー(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スコアは
2.6(低レベル)で、攻撃はネットワーク内からの高い複雑度が必要です。 - EPSSスコアは
0.02%で、直近30日間に悪用される可能性は極めて低いと予測されています。 - 現時点でランサムウェア等の悪用観測はありません。
- 公開PoCも存在せず、攻撃難易度が高いため実務的な緊急対応は不要です。
- 攻撃はローカルネットワーク内に限定され、認証は不要ですが、攻撃の複雑度が高いためリスクは限定的です。
誰が動くべきか
- langchain-chatchatを使用しているLLMアプリケーション開発者・運用者
- Agentフレームワーク運用チーム(LangChain等)
- AI GatewayやLLM Proxyを運用するSecOps/SREチーム
- バイブコーダー開発者(Cursor、Cline、GitHub Copilot利用者等)で関連APIを使う場合
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| langchain-chatchat | 0.3.1.3以下 |
ベンダーアドバイザリ参照(現時点で公式修正版は未リリース) |
バージョン確認コマンド
Python (pip)
pip show langchain-chatchat
出力例:
Name: langchain-chatchat
Version: 0.3.1.3
Summary: Langchain Chatchat integration
判定: バージョンが 0.3.1.3 以下なら脆弱。これより新しい場合は安全。
Python (pip) 別コマンド例
pip list | grep langchain-chatchat
出力例:
langchain-chatchat 0.3.1.3
判定: 同上。脆弱バージョンなら対応必須。
設定確認
今回の脆弱性は設定依存ではなく、バージョンが該当範囲なら影響があります。設定変更による緩和策はありません。
Nucleiテンプレートでの検出
本脆弱性に対応した公開Nucleiテンプレートは現在存在しません。検出はバージョン確認で行ってください。
STEP 4: 修正を適用する
パッチ適用
ベンダーからの修正版が出次第、以下のコマンドでアップグレードを推奨します。2026年5月12日時点では公式修正版は公開されていません。最新のベンダーアドバイザリを必ず確認してください。
Python (pip)
pip install --upgrade langchain-chatchat
注意: バージョン0.3.1.4以上がリリースされたらアップデートしてください。
注意: パッチ適用前には必ず依存関係やテスト環境での検証を実施し、本番環境のバックアップを取得してください。影響範囲を十分に調査したうえでダウンタイムを計画してください。
パッチ即時適用ができない場合の暫定対応
現時点で公式な暫定対応策は提示されていません。可能な限り該当バージョンの使用中止や、ローカルネットワークのアクセス制限を検討してください。
STEP 5: 修正されたことを確認する
パッチ適用後はSTEP 3で示したバージョン確認コマンドを再度実行し、修正後の安全なバージョンであることを確認してください。
期待される出力
Python (pip)
pip show langchain-chatchat
出力例:
Name: langchain-chatchat
Version: 0.3.1.4
Summary: Langchain Chatchat integration
判定: バージョンが 0.3.1.4 以上ならOK
追加で確認すべきこと
- 脆弱性が修正されたと明示されたバージョンであること(公式アドバイザリやGitHub PRを参照)
- ログに不審なファイル操作や異常アクセスがないか、運用中に監視を続けること
- 可能であれば、関連の脆弱性スキャンツール・Nucleiテンプレートが公開された際に再検査を実施すること
補足: 悪用観測状況
CVE-2026-7846は2026年5月時点でランサムウェアを含む悪用の観測はありません。GitHub上に公開PoC(Proof of Concept)も存在せず、実際の攻撃は難易度が高いため、現時点での実害報告はありません。
補足: CVSSメトリクス詳細
- AV(Attack Vector:攻撃元):
Adjacent Network(隣接ネットワーク)攻撃者は同一ローカルネットワークからのアクセスが必要です。 - AC(Attack Complexity:攻撃複雑度):
High(高い)攻撃を成功させるには高度な条件を満たす必要があります。 - PR(Privileges Required:必要権限):
Low(低い)攻撃には最低限の権限しかいりません。 - UI(User Interaction:ユーザ操作):
None(不要)ユーザの操作は不要です。 - S(Scope:対象範囲):
Unchanged(変化なし)権限境界は超えません。 - C(Confidentiality:機密性影響):
None(影響なし)データ漏洩は発生しません。 - I(Integrity:完全性影響):
Low(低い)データや処理の改ざんの恐れがあります。 - A(Availability:可用性影響):
None(影響なし)サービス停止は発生しません。
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. まず自分の環境のバージョン確認(STEP 3)を行い、脆弱なバージョンならベンダーが公開する修正版を速やかに適用してください(STEP 4〜5)。
Q. パッチが適用できない場合、どうすればよいですか?
A. 正式な暫定対応はありませんが、ネットワークのアクセス制御や該当機能の停止を検討してください。外部からのアクセスを制限することが重要です。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. 攻撃痕跡のログ監視や、不審なファイル操作の有無を調査してください。現時点で公開された検出ツールはありませんが、公式情報の更新を注視してください。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは技術的な深刻度評価ですが、EPSSは「実際に悪用される確率」を示します。両方を考慮すると優先対応度の判断がより正確になります。
Q. このCVEと類似の脆弱性は他にもありますか?
A. 競合状態(CWE-362)やTOCTOU(CWE-367)はよく見られる脆弱性で、同じカテゴリの類似問題が他のAI/LLM関連APIでも存在する可能性があります。常にアップデートを推奨します。
参考文献
- NVD – CVE-2026-7846
- GitHub Advisory Database – GHSA-x229-w2j4-h748
- GitHub Issue #5463 Langchain-Chatchat Race Condition報告
- 技術的分析 / 解説
- VulDB 脆弱性データベース
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
