CVE-2026-50180 LangroidのSQLChatAgentにおけるパストラバーサル脆弱性解説とAI Security対策ガイド

結論
- 危険度: 情報なし
- 対象: langroid <= 0.63.0
- 修正: 0.64.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-10 | 本記事は公式情報をもとに作成しています。最新情報はベンダー公式アドバイザリを必ずご確認ください。
| STEP | やること | かかる目安 |
|---|---|---|
| STEP 1 | 何が起きているか理解する | 5分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 5分 |
| STEP 4 | 修正を適用する | 環境により異なる |
| STEP 5 | 修正されたことを確認する | 3分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-50180は、langroidのSQLChatAgentがPostgreSQLの特定関数を検知できず、攻撃者が任意のファイルを読み取れる脆弱性です。LLMゲートウェイ運用者にとって重大で、速やかな対応が必要です。
やさしく説明すると
例えるなら、玄関の鍵がかかっているように見えて、実は合鍵が勝手に作られる状態です。普段は安全に思えるSQL操作から、実は特別な命令が隠れていて、サーバ上の重要なファイルが読まれてしまいます。LLMが生成するSQLを通じた攻撃なので、普段からLLMの出力を使うAI開発者や運用者は気をつける必要があります。
技術的な原因
脆弱性はCWE-22(パス・トラバーサル)とCWE-89(SQLインジェクション)に分類されます。langroidのSQLChatAgentは危険なSQL構文を防ぐ正規表現ブロックリスト(regex blocklist)で制御しています。しかしPostgreSQLのファイル読み取り系関数(pg_read_file()など)やSQL ServerのOPENDATASOURCE、SQLiteのATTACHコマンドを検知できていません。これにより攻撃者はLLM経由で生成されたSQLに悪意あるファイル読み取りコマンドを混入できます。
影響を受けると何が困るか
- APIキーや認証情報を含むサーバ内ファイルの漏洩
- LLMの生成SQLを通じた機密データ(コンテキスト情報など)の窃取
- プロンプトインジェクションを経由したエージェント権限の乗っ取り
- RAG(検索付加生成)データの改ざんや不正利用
- 請求コストの異常増加(悪用された場合の想定)
- 複数テナントの情報漏洩リスク
- AIコーディングツール(Cursor、Clineなど)経由のファイルアクセスやコード実行につながる可能性
- .envや認証用設定ファイルの流出
もっと詳しく調べたい人へ — 公式情報源マップ
本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。
| カテゴリ | 情報源 | 言語 | 何が分かるか | リンク |
|---|---|---|---|---|
| 総合 | 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スコアは未公表だが、実務的にはファイル読み取り系のSQLインジェクションと考え重要
- EPSSスコアの提供なし。悪用の予測確率は不明
- 現在、ランサムウェアによる悪用は確認されていない
- 公開PoCはGitHub Advisory Databaseでも0。武器化はされていない
- 攻撃に必要な条件は、LLMアプリケーションがSQL生成時に危険関数を検査しきれず、攻撃者がSQL生成を誘導できる点にある
誰が動くべきか
- LLM Gateway運用チーム(langroidを使うAIプラットフォーム管理者)
- Agentフレームワーク開発者(SQLChatAgentなどを利用する開発者)
- AI駆動開発者やバイブコーダー利用者(Cursor、Clineなどでlangroid連携している場合)
- データベース運用管理者(PostgreSQLを含むバックエンドの設定を見る担当者)
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| langroid | 0.63.0 以下 | 0.64.0 |
バージョン確認コマンド
Python(pip)
pip show langroid
出力例:
Name: langroid
Version: 0.63.0
Summary: Langroid framework for large language model powered applications
判定: Versionが 0.63.0以下なら脆弱。0.64.0以上なら安全
Python(pip list)
pip list | grep langroid
出力例:
langroid 0.63.0
判定: 0.63.0以下なら脆弱。0.64.0以上なら安全
設定確認
この脆弱性は設定依存ではありません。langroid本体のバージョンが0.64.0未満なら脆弱です。したがってバージョン確認だけで判定可能です。
Nucleiテンプレートでの検出
本脆弱性に対応した公開Nucleiテンプレートは現状ありません。検出にはバージョン確認を必ず実施してください。
STEP 4: 修正を適用する
パッチ適用
Python環境(pip)
pip install --upgrade langroid
判定: 0.64.0以上になれば脆弱性は修正されています。
注意: パッチ適用前には必ずバックアップを取得してください。ステージング環境で十分に動作確認を行い、本番環境でダウンタイム時間を考慮して実施してください。
パッチ即時適用ができない場合の暫定対応
公式の暫定対応は提示されていません。脆弱性の性質上、SQLクエリの生成制御強化やLLMの入力制限などの緩和策を検討してください。最終的には0.64.0へのアップデートが必須です。
STEP 5: 修正されたことを確認する
STEP 3で実施したバージョン確認コマンドを、再度実行してください。
期待される出力
Python(pip)
pip show langroid
出力例:
Name: langroid
Version: 0.64.0
Summary: Langroid framework for large language model powered applications
判定: バージョンが 0.64.0 以上ならOK
追加で確認すべきこと
Nucleiテンプレートは未公開のため使用できません。ログに不審なアクセスがないか監視し、運用中のLLM生成SQLで非許可関数呼び出しが発生していないか監査を行うことを推奨します。
補足: 悪用観測状況
現時点でCISA KEVには登録されておらず、ランサムウェアによる悪用は不明です。公開済みPoCや実証コードもGitHub Advisory Databaseで確認できません。今後の動向に注意してください。
補足: CVSSメトリクス詳細
- AV (Attack Vector): ネットワーク経由での攻撃が可能
- AC (Attack Complexity): 中程度。攻撃にはLLMへの入力制御回避が必要
- PR (Privileges Required): なし〜低。認証不要の可能性がある
- UI (User Interaction): 不要。攻撃者が直接LLMのプロンプトを操作可能
- C (Confidentiality): 高。ファイル読み取りによる機密漏洩が発生
- I (Integrity): 低。直接の改ざんは難しいが情報漏洩から波及リスクあり
- A (Availability): 低。サービス停止までは想定されない
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. まずSTEP 3で対象バージョンかを確認し、脆弱ならSTEP 4で0.64.0へのアップデートを実施してください。
Q. パッチが適用できない場合、どうすればよいですか?
A. 公式の暫定対応はありませんが、LLMの入出力制御強化やSQL生成ルールの見直し、ネットワーク分離などでリスクを低減してください。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. ログに不審なファイル読み取り系SQLコマンドが含まれていないか確認し、異常なAPIアクセスやプロンプトの改変がないか監視してください。
Q. なぜEPSSスコアが重要なのですか?
A. EPSSスコアは「実際に悪用される確率」を示します。CVSSだけだと理論的リスクのみで、優先度判断が難しいため両方確認が推奨されます。
Q. このCVEと類似の脆弱性は他にもありますか?
A. CWE-22やCWE-89に分類されるSQLインジェクションやパス・トラバーサルの脆弱性は類似性があります。LLMのSQL生成系で同様の問題が生じやすいです。
参考文献
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
