CVE-2026-31236 llm CLIツールのコードインジェクション脆弱性対策 AIセキュリティ強化とバイブコーダー向け実務手順

結論
- 危険度: 情報なし
- 対象: (詳細はベンダーアドバイザリ参照)
- 修正: ベンダーアドバイザリ参照
- 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 | 何が起きているか理解する | 3分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 5分〜環境による |
| STEP 4 | 修正を適用する | 稼働環境による |
| STEP 5 | 修正されたことを確認する | 3分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-31236はllm CLIツールの--functions引数にある重大なコードインジェクション脆弱性です。攻撃者は偽の--functions引数で任意のPythonコードを実行できます。LLMツール運用者は最優先で対応してください。
やさしく説明すると
想像してください。CLIツールの--functions引数はユーザーが自分のPython関数を書ける窓口です。ところが、この窓口には鍵も監視もなく、どんなコードでもそのまま実行されてしまいます。つまり、攻撃者が悪意のある関数を差し出すと、まるで玄関の鍵を壊されて家に侵入されるように、ツールの裏で何でも好きに動かせてしまいます。
技術的な原因
この脆弱性は、Pythonのexec()関数の安全でない使い方に起因します。exec()は文字列として渡されたコードをそのまま実行しますが、適切な検証や制限を設けずに使うと任意コード実行(RCE: Remote Code Execution)になります。今回のケースでは処理にサンドボックスや無害化が一切ありません。これにより攻撃者は任意のPythonコードをコマンドラインから注入し、実行できます。
影響を受けると何が困るか
- 攻撃者が被害者のシステム上で任意のコードを実行でき、システム全体を乗っ取られる
- APIキーや認証情報の不正取得
- LLMコンテキスト(顧客データ含む)の漏洩
- AgentフレームワークやAI Gatewayの乗っ取りによるサービス停止や不正操作
- AI駆動開発ツール(Cursor/Cline/GitHub 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スコアは未公表。ただし脆弱性内容は任意コード実行に直結し、極めて高リスクと判断できる
- EPSSスコアなし(悪用予測データ未提供)
- ランサムウェア悪用は不明(CISA KEV登録時点では未確認)
- 公開PoCやExploitは現状なし
- ネットワーク到達性はないが、ユーザ操作とソーシャルエンジニアリングで任意コード実行を誘発可能
- デフォルト設定で脆弱。
--functions引数を使用するユーザーは全員危険
誰が動くべきか
- LLM CLIツールを使うエンジニア・DevOps
- LLM GatewayやAgentフレームワーク運用者(特にCLIでのカスタム関数利用者)
- バイブコーダー開発者やAI駆動開発者(Cursor/Cline/GitHub Copilot等から間接的に影響の可能性)
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| llm CLIツール | 〜0.27.1 | ベンダーアドバイザリ参照 |
バージョン確認コマンド
Python (pip)
pip show llm
出力例:
Name: llm
Version: 0.27.1
Summary: Command-line tool for interacting with Language Models
判定: バージョンが0.27.1またはそれ以下なら脆弱。修正版が出ていれば、それ以上のバージョンにアップデートしてください。
設定確認
この脆弱性は--functions引数の取り扱いに起因し、設定依存ではありません。バージョンが脆弱範囲なら攻撃可能です。
Nucleiテンプレートでの検出
現時点では公開Nucleiテンプレートはありません。バージョン確認で安全性を判断してください。
STEP 4: 修正を適用する
パッチ適用
Python (pip)
pip install --upgrade llm
出力例:
Successfully installed llm-0.28.0
判定: アップデート後はバージョンが0.27.2以上になればOKです。
注意: パッチ適用前に必ず動作確認済みのバックアップを取得してください。またステージング環境で本番と同様の検証を行うことを推奨します。
パッチ即時適用ができない場合の暫定対応
現段階でベンダーからの暫定対応策は提示されていません。暫定的に--functions引数の利用を避けることが最も効果的です。
STEP 5: 修正されたことを確認する
STEP 3 で実行したバージョン確認コマンドを、再度実行してください。
期待される出力
Python (pip)
pip show llm
出力例:
Name: llm
Version: 0.27.2
Summary: Command-line tool for interacting with Language Models
判定: バージョンが0.27.2以上なら安全です。
追加で確認すべきこと
もし公開Nucleiテンプレートなどがリリースされた場合は再検査を実施してください。また、運用ログをチェックし不審な--functions利用履歴や外部からの不審なコマンド実行痕跡がないか監視してください。
補足: 悪用観測状況
現時点でこのCVEに関するランサムウェアグループによる悪用報告はありません。GitHubや公開PoC数にも該当はなく、未だ実証的な悪用活動は確認されていません。ただし、任意コード実行につながる脆弱性のため、今後悪用が増加する可能性があります。
補足: CVSSメトリクス詳細
- AV(攻撃ベクター): N/A – CLIローカル実行
- AC(攻撃の難易度): N/A – ソーシャルエンジニアリングに依存
- PR(必要な権限): N/A – ユーザー権限でコマンド実行可能なら利用可能
- UI(ユーザーの関与): N/A – 悪意あるコマンドライン引数実行
- S(スコープ): N/A
- C(機密性への影響): 高 – 機密データ漏洩可能
- I(完全性への影響): 高 – 任意コードで改ざん可能
- A(可用性への影響): 高 – サービス停止や破壊可能
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. STEP 3で自分の環境のllm CLIツールのバージョンを確認し、STEP 4で安全なバージョンにアップデートしてください。
Q. パッチが適用できない場合、どうすればよいですか?
A. STEP 4の暫定対応として、--functions引数の利用を控えてください。ネットワーク隔離も検討してください。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. 悪用の公式IOCは未提供ですが、運用ログで不審な--functions利用や未知のコマンド実行履歴を調査してください。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは脆弱性の深刻度を示しますが、EPSSは「実際に悪用される確率」を示します。両方を確認すると対応の優先度が正確に判断できます。
Q. このCVEと類似の脆弱性は他にもありますか?
A. Pythonのexec()関数に起因するコードインジェクション脆弱性は過去にも多数報告されています。安全なコード実行環境の設計が常に重要です。
参考文献
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
