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

SQLite の FTS5 全文検索で、detail=none の表に負の rowid を入れて前方一致検索すると起きるヒープバッファオーバーフロー(CVE-2026-119373): 3.54.0 未満が対象、CVSS 7.8(VulnCheck)

目次(5)

CVE-2026-119373

NVD は 2026-10-30(12:16 UTC)に、組み込みデータベース SQLite の CVE-2026-119373 を登録しました。説明によれば、3.54.0 より前の SQLite を FTS5(全文検索の拡張)付きでビルドした場合、fts5MergeRowidLists() にヒープ上のバッファオーバーフロー(CWE-787)があります。detail=none の FTS5 表に負の rowid を持つ行を入れ、前方一致(prefix)の MATCH 検索を実行すると、出力バッファが小さく確保されたまま結果が書き込まれ、確保領域の外側が書き換えられてヒープが壊れ、プロセスが異常終了すると説明されています。登録元(CNA)は VulnCheck で、NVD の状態は「Undergoing Analysis」(NVD が分析中)です。

何が起きるか(CNA の説明)

  • 対象は FTS5 を有効にしてビルドした SQLite です。FTS5 表を detail=none で作り、負の rowid の行を追加し、前方一致の MATCH 検索を行うと、複数の前方一致の転置リスト(doclist)を併合する処理で出力バッファの大きさが足りなくなります。
  • 条件を満たす表の内容と検索を用意できる攻撃者が、確保領域を超えて書き込みを起こせると説明されています。CNA が挙げる結果はヒープ破壊とプロセスの異常終了です。コード実行まで可能かは、参照先を含めて確認できていません。
  • 攻撃の条件は「FTS5 の表の中身(データ)と検索(SQL)を攻撃者が制御できること」です。SQLite は多くのアプリケーションに組み込まれており、利用者が任意の SQL を実行できる機能、利用者が持ち込んだデータベースファイルを開く機能、細工したデータを取り込んで全文検索を行う機能などが該当し得ますが、どのアプリケーションが当てはまるかは当サイトでは確認していません。
  • CVSS v3.1 は 7.8(High、CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)、CVSS v4.0 は 8.5(High)です。いずれも VulnCheck(CNA)が付与した値で、NVD 自身の評価はありません。ベクターでは攻撃経路がローカル(AV:L)、利用者の操作が必要(UI:R)とされています。

数値と出典(2026-11-01 時点)

項目内容
CVECVE-2026-119373(CWE-787)
影響範囲SQLite 3.54.0 より前(FTS5 付きビルド)
CVSS v3.17.8(High)。VulnCheck(CNA)の値
CVSS v4.08.5(High)。VulnCheck(CNA)の値
状態NVD の状態は「Undergoing Analysis」(NVD 自身の評価は未実施)
EPSS0.14%(パーセンタイル 3.7%、2026-10-31、FIRST)
KEV掲載なし(CISA の JSON で確認)
修正3.54.0(2026-10-09 公開)で修正済みと CNA が記載(推定を含む。下記)

severity を high とした理由

CVSS はいずれも High(7.8 / 8.5)で、本記事の severity 欄も high としました(当サイトの判断)。ヒープ書き込みという性質は重いものの、条件が限られます。FTS5 付きのビルドであること、detail=none の表に負の rowid が入ること、前方一致の検索が実行されることがそろう必要があり、攻撃者がデータと検索を制御できるアプリケーションに限られます。CNA が挙げる結果は異常終了で、コード実行は未確認のため、critical とはしていません。EPSS も低い水準です。

対応として考えられること(本記事の推定)

  1. 自組織で使っているソフトウェアのうち、SQLite を組み込んでいるもの(アプリケーション、ライブラリ、言語処理系に同梱の SQLite など)を洗い出します。SQLite は静的に取り込まれていることが多く、OS の SQLite の版だけでは分からない場合があります。
  2. FTS5 を有効にしているか、detail=none の FTS5 表を使っているかを確認します。該当しなければ、本件の条件は満たされません。
  3. 使っている版が 3.54.0 より前なら、3.54.0 以降へ更新します。公式のリリース一覧では、2026-10-16 公開の 3.54.1 も確認できます(3.54.1 の記載は 32 ビットビルドのバッファオーバーフローで、本件とは別の内容と読めます)。他のソフトに同梱された SQLite は、提供元の更新を待つ必要がある場合があります。
  4. 更新までの間、利用者が任意の SQL を実行できる機能や、外部から持ち込まれたデータベースファイルを開く機能がある場合は、権限を絞る、隔離した環境で処理する、といった影響を小さくする措置を検討します。
  5. 異常終了が不自然に増えていないかを、該当するプロセスのログで確かめます。具体的な攻撃の指標は公開されておらず、未確認です。

未確認の点

  • 修正が 3.54.0 に含まれることは、CNA の記載(「3.54.0 より前」)と、参照先の修正コミットの存在に基づく推定です。公式のリリースノート(3.54.0)で、この修正に当たる項目は当サイトでは見つけられませんでした。
  • コード実行まで可能か(実現性)は未確認です。CNA の説明が挙げる結果は、ヒープ破壊とプロセスの異常終了です。
  • 攻撃の再現はしていません。悪用の報告は確認できていません。KEV にも載っていません(確認時点の版)。
  • CVSS は VulnCheck の値のみで、NVD 自身の評価は確認できていません。
  • どのアプリケーションや製品が実際に影響を受けるかは、確認していません。
  • 日付は NVD の登録(2026-10-30 12:16 UTC)と、SQLite のリリース一覧(3.54.0 は 2026-10-09)に基づきます。

この記事について

出典

この記事を共有