脆弱性・CVE速報深刻度: 中

MariaDB Connector/J に脆弱性 5 件(CVE-2026-119210 ほか): 不正なサーバーにクライアントのファイルを読まれる恐れ。3.3.7・3.4.5・3.5.11 で修正

目次(6)

CVE-2026-119210

CVE-2026-119276

CVE-2026-119279

CVE-2026-119280

CVE-2026-119281

Java 用の MariaDB 接続ライブラリ MariaDB Connector/J(org.mariadb.jdbc:mariadb-java-client)に、2026 年 10 月 30 日(UTC)に 5 件の脆弱性が公開されました。GitHub Advisory では Medium が 4 件、Low が 1 件です。いずれも「接続先のサーバーが不正、または通信が中間者に改ざんされる」場合に問題になります。CISA の KEV には載っていません。EPSS は 0.28〜0.35% です(10/30 時点)。修正版の 3.3.7・3.4.5・3.5.11 は 10/21 に公開されています。

5 件の内容

CVE種類内容CVSS v3.1
CVE-2026-119210情報漏えいLOAD DATA LOCAL INFILE の検査が甘く、不正なサーバーがクライアントのファイルを読める5.9(Medium)
CVE-2026-119281改ざんサーバーが character_set_results を変えても気づかず、文字列の解釈がずれる5.9(Medium)
CVE-2026-119276サービス拒否OK パケットのサーバー指定の長さで大きなメモリを確保させられる5.9(Medium)
CVE-2026-119279サービス拒否長さの整数を int に切り詰め、負の値や異常な長さになる5.9(Medium)
CVE-2026-119280サービス拒否XA の recover() がサーバー指定の長さを信じて確保する3.7(Low)

影響を受ける版

どの 5 件も同じ範囲です。3.0.0 以上 3.3.7 未満、3.4.0 以上 3.4.5 未満、3.5.0 以上 3.5.11 未満(CVE-2026-119279 だけ、3.5 系の修正は 3.5.10)。勧告に 4.x の記載はありません。

一番注意したい CVE-2026-119210

  • 勧告によると、サーバーから LOAD DATA LOCAL INFILE の要求が来たとき、Connector/J は送ったコマンドの文字列に該当するテキストがあるかを調べていました。この調べ方が、引用符で囲んだ識別子や文字列の中も一致と見なしていました。
  • DatabaseMetaData.getImportedKeys() や getExportedKeys() などは、サーバーが返したデータベース名・テーブル名を次のクエリにそのまま入れます。サーバーが LOAD DATA LOCAL INFILE '/etc/passwd' のような名前を返すと、検査をすり抜けて、クライアントの JVM が読めるファイルがサーバーに送られます。getImportedKeys() では発生したエラーが握りつぶされ、アプリ側からは何も見えません。
  • 条件は、サーバー側を握られていること(または中間者)と、allowLocalInfile が有効なこと(既定で有効)です。設定ファイル、認証情報、キーストアなどが対象になり得ます。
  • 修正では、文字列・引用符つき識別子・コメントを読み飛ばし、文の先頭にある LOAD DATA LOCAL INFILE だけを見て、ファイル名を厳密に比べるようになりました。

残りの 4 件

  • CVE-2026-119281: Connector/J は結果を UTF-8 として読みます。character_set_client は UTF-8 以外に変わると接続を閉じていましたが、character_set_results は見ていませんでした。サーバーが変えると、アプリが受け取る文字列が実際のバイト列と食い違い、アプリ側の検証やエスケープを素通りする恐れがあります。修正版は追跡する変数を明示して要求し、UTF-8 系以外への変更で接続を閉じます。
  • CVE-2026-119276: セッション追跡が有効(既定)だと、OK パケットにサーバー指定の長さが入ります。18 バイトのパケットで 8 MiB の確保が起こせると勧告にあります。GC の負荷から OutOfMemoryError まで起き得ます。
  • CVE-2026-119279: 8 バイトの長さを検証せずに int に切り詰めていたため、負の値や無関係な値が長さとして使われ、例外や大きな確保になります。
  • CVE-2026-119280: XA リカバリを使うアプリだけが対象です。範囲外の長さで例外や大きな確保になります。

対応

  1. Connector/J を 3.3.7、3.4.5、3.5.11 以降に更新します(4.0.0 も 10/21 に公開されています。勧告の影響範囲には含まれていません)。
  2. すぐ更新できない場合、LOAD DATA LOCAL INFILE を使っていなければ allowLocalInfile=false にします(CVE-2026-119210 の回避策)。
  3. 接続は TLS で行い、サーバー証明書を検証します。通信を改ざんされる経路を減らせます。接続先を信頼できないサーバーにしない運用も重要です。
  4. 信頼できないサーバーに古い版でつないでいた場合は、JVM から読めるファイルに秘密情報がなかったかを確認します。

未確認の点

  • NVD の記載は確認できていません(公開直後)。
  • 悪用の報告は見つかっていません(KEV 掲載なし、EPSS は低い水準)。
  • 勧告は、5 件とも「サーバー側を握られている、または中間者」であることを悪用の前提にしています。

この記事について

出典

この記事を共有