【高】CVE-2026-55405 LangChain4jのSQLインジェクション脆弱性解説とAIセキュリティ対策|Java環境のLLM開発者必読

結論
- 危険度: High (CVSS 7.6)
- 対象: dev.langchain4j:langchain4j-mariadb <= 1.2.0-beta8 / dev.langchain4j:langchain4j-mariadb >= 1.3.0-beta9, <= 1.5.0-beta11 / dev.langchain4j:langchain4j-mariadb >= 1.6.0-beta12, <= 1.11.7-beta19
- 修正: 1.2.1-beta8 / 1.5.1-beta11 / 1.11.8-beta19
- 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 | 何が起きているか理解する | 3分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 3〜10分 |
| STEP 4 | 修正を適用する | 環境により異なる |
| STEP 5 | 修正されたことを確認する | 3分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-55405は、JavaのLLMアプリケーションライブラリLangChain4jで、MariaDBとpgvectorの埋め込みストアにあるSQLインジェクション脆弱性です。攻撃者はメタデータのフィルター部分を悪用し、認証済み利用者の権限で任意のSQLを実行できます。LLMゲートウェイ運用者にとって最優先で対応が必要です。
やさしく説明すると
イメージとしては、あなたのアプリケーションの玄関が一部施錠されていない状態です。具体的には、LLMの検索時に使われるデータの「フタ」が不完全で、そこから悪い人が「合鍵」を作ってしまいます。合鍵を使うと、知らない間に大事なデータを盗まれたり、サーバの動きがおかしくなったりデータを消されたりします。つまり、第三者が勝手に情報を抜いたり操作できてしまうのです。
技術的な原因
この脆弱性はCWE-89「SQLインジェクション」に該当します。LangChain4jのMariaDBとpgvector用の埋め込みストアが、メタデータのフィルター条件をSQL文に直接連結し、値の適切なエスケープ処理を行っていません。特にMariaDBでは文字列値も生のままSQLに埋め込まれてしまいます。これにより、細工したメタデータキーでSQL文の文脈を破り、任意のSQLを注入できます。
SQLインジェクションは、入力データをそのままSQLクエリに挿入すると発生します。正しいエスケープやプリペアドステートメントを使わず、直接連結していたのが根本原因です。
影響を受けると何が困るか
- AI GatewayやLLM Proxyなどの運用中にデータベースから重要情報が外部に漏洩する
- 検索や削除APIの利用でサービス停止やDoS(サービス拒否)状態になる
- フィルター操作により顧客データやプロンプトの文脈が不正に取得される(LLMコンテキスト窃取)
- データベース内の行を任意に削除され、モデルやRAG(検索強化生成)用データの整合性が破壊される
- AI駆動開発ツール(Cursor/Cline/Aider/GitHub Copilot等)経由で操作される可能性
- LLM ProxyやAgenticフレームワークを使う環境なら、許可されていない操作による横展開や重大障害につながる
もっと詳しく調べたい人へ — 公式情報源マップ
本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。
| カテゴリ | 情報源 | 言語 | 何が分かるか | リンク |
|---|---|---|---|---|
| 総合 | 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スコアは7.6のHigh評価。実務的には「かなり深刻」なレベルで、ネットワーク越しに低権限ユーザが認証後に攻撃可能
- EPSS(実際悪用予測スコア)は未提供だが、攻撃自体は複雑度低く実現可能
- 現時点でランサムウェアによる悪用観測はなし
- 公開PoCやエクスプロイトはまだ存在しない
- ネットワーク経由で発生し、認証ユーザの操作不要(UI不要)。適切に設定・パッチ適用しないと危険
誰が動くべきか
- LLMアプリケーション開発者(LangChain4j使用者)
- AI GatewayやLLM Proxyのシステム運用チーム
- Agentフレームワーク開発者
- バイブコーダー開発者でLangChain4jを組み込んでいるユーザー
- インフラ運用、SRE、SecOpsチーム
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| dev.langchain4j:langchain4j-mariadb | ~1.2.0-beta8 | 1.2.1-beta8 |
| dev.langchain4j:langchain4j-mariadb | 1.3.0-beta9 ~ 1.5.0-beta11 | 1.5.1-beta11 |
| dev.langchain4j:langchain4j-mariadb | 1.6.0-beta12 ~ 1.11.7-beta19 | 1.11.8-beta19 |
| dev.langchain4j:langchain4j-mariadb | 1.12.1-beta21 ~ 1.16.2-beta26 | 1.16.3-beta26 |
| dev.langchain4j:langchain4j-pgvector | ~1.2.0-beta8 | 1.2.1-beta8 |
| dev.langchain4j:langchain4j-pgvector | 1.3.0-beta9 ~ 1.5.0-beta11 | 1.5.1-beta11 |
| dev.langchain4j:langchain4j-pgvector | 1.6.0-beta12 ~ 1.11.7-beta19 | 1.11.8-beta19 |
| dev.langchain4j:langchain4j-pgvector | 1.12.1-beta21 ~ 1.16.2-beta26 | 1.16.3-beta26 |
バージョン確認コマンド
Java/Maven(langchain4j-mariadb / langchain4j-pgvector)
mvn dependency:list | grep langchain4j-mariadb
mvn dependency:list | grep langchain4j-pgvector
出力例:
dev.langchain4j:langchain4j-mariadb:jar:1.2.0-beta8
dev.langchain4j:langchain4j-pgvector:jar:1.5.0-beta11
判定: 表で示した脆弱なバージョン範囲であれば脆弱 langchain4j-mariadb <= 1.2.0-beta8 または 1.3.0-beta9~1.5.0-beta11 など
設定確認
この脆弱性はSQLクエリ文字列を直接生成する実装の問題です。特定の設定で無効化や回避はできません。バージョンアップで修正する必要があります。
Nucleiテンプレートでの検出
本脆弱性に対する公開のNucleiテンプレートは現時点で提供されていません。脆弱性の確認はバージョンチェックで実施してください。
STEP 4: 修正を適用する
パッチ適用
Java/Mavenプロジェクトの場合
# pom.xmlの依存を修正版に変更
# 例)langchain4j-mariadb を 1.2.1-beta8 に更新する
sed -i -e 's/langchain4j-mariadb:.*-/langchain4j-mariadb:1.2.1-beta8-/' pom.xml
# 依存解決とビルド
mvn clean install
判定: バージョンが 1.2.1-beta8 以上で修正済み
他バージョン帯の適用例
# 1.5.0-beta11 の場合は 1.5.1-beta11 に更新
sed -i -e 's/langchain4j-mariadb:.*-/langchain4j-mariadb:1.5.1-beta11-/' pom.xml
# 1.11.7-beta19 の場合は 1.11.8-beta19 に更新
sed -i -e 's/langchain4j-mariadb:.*-/langchain4j-mariadb:1.11.8-beta19-/' pom.xml
判定: それぞれ対応する修正版のバージョンに変更
注意: パッチを適用する前に必ずソースコードのバックアップを取り、検証環境でテストを行い、本番環境のダウンタイムや影響を事前に計画してください。
パッチ即時適用ができない場合の暫定対応
本脆弱性はSQLインジェクションのため、WAF(Web Application Firewall)などの検査・遮断ルールで不正なメタデータキーのパターンをブロックすることが考えられます。ただし、公式の暫定対応は提供されておらず、完全な防御は期待できません。できるだけ速やかに修正版適用を優先してください。
STEP 5: 修正されたことを確認する
STEP 3 で実行したバージョン確認コマンドを、修正適用後に再度実行してください。
期待される出力
Java/Maven(langchain4j-mariadb / langchain4j-pgvector)
mvn dependency:list | grep langchain4j-mariadb
mvn dependency:list | grep langchain4j-pgvector
出力例:
dev.langchain4j:langchain4j-mariadb:jar:1.2.1-beta8
dev.langchain4j:langchain4j-pgvector:jar:1.5.1-beta11
判定: バージョンが 1.2.1-beta8 以上であれば修正済みで安全
追加で確認すべきこと
- AI GatewayやAgentのログを確認し、不審な検索やremoveAll(Filter)の呼び出しがないか調査する
- 可能なら社内脆弱性診断ツールでSQLインジェクションが再度検出されないことを確認する
補足: 悪用観測状況
現在、CVE-2026-55405に対するランサムウェアなどの悪用は報告されていません。公開PoC(実証コード)も存在せず、GitHubやNVDのExploitタグで該当は0件です。しかし、攻撃条件が比較的簡単なSQLインジェクションのため、今後の悪用拡大には注意が必要です。早めの対応をおすすめします。
補足: CVSSメトリクス詳細
- AV(Attack Vector:攻撃元): NETWORK - 攻撃者はネットワーク経由で攻撃可能
- AC(Attack Complexity:攻撃の複雑さ): LOW - 特別な条件を必要とせず攻撃可能
- PR(Privileges Required:必要権限): LOW - 低い権限(認証済みユーザー)で攻撃できる
- UI(User Interaction:ユーザ操作): NONE - 攻撃に利用者操作は不要
- S(Scope:影響範囲): UNCHANGED - 攻撃範囲は元の権限範囲内に限定
- C(Confidentiality:機密性影響): HIGH - 機密情報が漏洩する
- I(Integrity:完全性影響): LOW - データの改ざんリスクあり
- A(Availability:可用性影響): LOW - サービスの部分停止リスクあり
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. 脆弱なバージョンかどうかをSTEP 3のコマンドで確認し、対象ならSTEP 4の手順で修正版にアップデートしてください。
Q. パッチが適用できない場合、どうすればよいですか?
A. WAFなどで不正な入力をブロックする暫定対応が考えられますが、公式の暫定策はありません。なるべく早くバージョンアップしてください。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. LLMアプリのログを調査し、不審な検索やremoveAll(Filter)の異常呼び出しを確認してください。外部に見知らぬSQL実行痕跡があれば警戒が必要です。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは脆弱性の深刻度を示し、EPSSは実際に悪用される可能性を示します。両方見ると対応の優先順位をより正確に判断できます。
Q. このCVEと類似の脆弱性は他にもありますか?
A. SQLインジェクション(CWE-89)はAI Securityの分野でも繰り返し見られます。LangChain4j以外のLLM GatewaysやAgenticシステムにも注意しましょう。
参考文献
- NVD - CVE-2026-55405
- GitHub Advisory Database GHSA-2mfg-cc43-9pcj
- GitHub 修正コミット例 #1
- GitHub Releases 1.16.3
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
