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

CakePHP の StringExpression・IdentifierExpression の照合順序指定に SQL インジェクション(CVE-2026-119419): 5.4.4 で修正

目次(6)

CVE-2026-119419

NVD は 2026-10-30(12:16 UTC)に、PHP フレームワーク CakePHP の CVE-2026-119419 を登録しました。説明によると、5.4.3 までの StringExpression と IdentifierExpression は、照合順序(collation)の値を検証せずに SQL の COLLATE 句へそのまま連結します。アプリケーションが外部入力をこの値に渡している場合、攻撃者が SQL を追記でき、接続のデータベース権限の範囲で影響が及びます。どのデータベースドライバでも起こり得ます。登録元(CNA)は VulnCheck で、NVD の状態は「Deferred」です。

何が起きるか

  • 低水準のクエリ式を組み立てる API(StringExpression のコンストラクタ、IdentifierExpression のコンストラクタ、両者の setCollation())で、照合順序の名前が引用符なしの COLLATE 句に入ります。
  • 修正前はこの値に制限がなく、区切り文字を含む文字列を渡すと、COLLATE の後ろに別の SQL を付け足せます。
  • 影響を受けるのは、利用者の入力(検索条件・並び替えの指定など)を照合順序の名前としてこれらの API に渡しているアプリケーションに限られます。通常のクエリビルダの使い方だけで成立するかは確認していません(未確認)。

修正の内容

  • 照合順序の値を、英数字・アンダースコア・ドット(前後の二重引用符は可)に限る検証を追加しました。外れる値は InvalidArgumentException になります(CakePHP の修正コミット)。
  • 修正のコミットは 2026-10-24 に取り込まれ、CakePHP のタグ 5.4.4(2026-11-01 00:47 UTC)の履歴に含まれることを Git の比較で確認しました。5.4.4 に含まれるとみられますが、公式のリリースノートでの明記は確認できていません(推定)。

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

項目内容
CVECVE-2026-119419(CWE-89 SQL インジェクション)
影響版CakePHP 5.4.3 まで(NVD の説明)
修正版5.4.4(修正コミットを含む。公式リリースノートでの明記は未確認)
CVSS v4.09.2(Critical、AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H)。VulnCheck(CNA)の値で、NVD 自身の評価はなし。v3.1 は 8.1(High、AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H、同じく VulnCheck の値)
状態NVD の状態は「Deferred」
EPSS0.39%(パーセンタイル 33.6%、2026-10-31、FIRST)
KEV掲載なし(CISA の JSON で確認)

severity を high とした理由

CNA の評価は 9.2 と高い一方、成立には「外部入力を照合順序の名前としてアプリケーションが渡している」という前提があり、攻撃条件の複雑さは High、攻撃の前提条件(AT:P)も付いています。EPSS は低く、KEV 掲載もありません。ただし成立すればデータベース権限の範囲で読み書きの影響が及び、フレームワークの利用が広いため high としました。

対応として考えられること

  1. 利用中の CakePHP の版を確認し、5.4.4 以降へ更新します。
  2. 更新までの間は、アプリケーションのコードで StringExpression・IdentifierExpression・setCollation() に外部入力を渡している箇所を探し、固定の許可リストにある値だけを使うようにします(本記事の推定。公式な回避策は未確認)。
  3. 5.4 系以外(4.x・5.3 系など)を使っている場合は、同じ修正が取り込まれているかを各系統のリリースで確認します。この点は確認できていません。

未確認の点

  • 実際の悪用は確認していません。攻撃の具体的な手順は本記事には載せません。
  • 5.4 系以外の系統(4.x・5.0〜5.3 系)が影響を受けるか、修正が入っているかは確認していません(NVD は「5.4.3 まで」と記載)。
  • 修正版が 5.4.4 であることは Git の履歴からの推定で、公式のリリースノートでの明記は確認できていません。
  • CVSS は VulnCheck(CNA)の v4.0・v3.1 の値のみで、NVD 自身の評価は確認できていません。
  • 日付は NVD の登録(2026-10-30 12:16 UTC)と GitHub の公開情報に基づきます。

この記事について

出典

この記事を共有