アップデート一覧に戻る
UpdatedSep 2, 2026

CVE-2026-0603 — Updated!

Hibernate ORM 二次SQLインジェクション

共有

CVE-2026-0603 Hibernate ORM インジェクション / 二次 SQL インジェクション

★ CVE-2026-0603 Hibernate SQL インジェクション PoC ★

https://github.com/user-attachments/assets/2e7c3a89-e26f-48cd-af0b-8b82d32ce71f


概要

CVE-2026-0603 は、広く使用されている Java ORM フレームワークである Hibernate ORM における 二次 SQL インジェクション の脆弱性です。
悪意のある SQL ペイロードを含むユーザー提供の文字列主キーが一括 DELETE または UPDATE 操作で使用されると、Hibernate はその値をサニタイズせずに WHERE 句に直接挿入し、データベースレコードの意図しない大量削除や改ざんを引き起こします。


影響を受けるバージョン

カテゴリバージョン
脆弱Hibernate ORM 5.2.8 ≤ version ≤ 5.6.15
修正済み公式パッチなし (5.6.x EOL)

影響

  • 複数のテーブルにわたるレコードの大量削除
  • 複数のテーブルにわたるレコードの大量改ざん
  • データベースからの機密データの潜在的な漏洩

環境

docker build -t cve-2026-0603-hibernate-vuln .
docker run --rm -it -p 8080:8080 --name hibernate-vuln cve-2026-0603-hibernate-vuln

PoC

脆弱な環境を起動した後、以下の手順に従って攻撃を再現します。

ステップ 1. 悪意のあるユーザー名で登録する

username: ' or '1' = '1

ステップ 2. 更新または削除をトリガーする

登録したアカウントの更新または削除ボタンをクリックします。

ステップ 3. すべてのユーザーデータが影響を受けていることを確認する

DELETE または UPDATE クエリが登録したアカウントだけでなく、すべての行に適用されたことを確認します。 DELETE の場合、両方のテーブルにわたるすべてのレコードが削除されます。 UPDATE の場合、すべてのレコードが攻撃者提供の値で改ざんされます。


緩和策

  • application.yml から InlineIdsOrClauseBulkIdStrategy 設定を削除する
  • InlineIdsOrClauseBulkIdStrategy を使用する必要がある場合は、ユーザー提供の主キー値に対して厳格な ホワイトリストベースの入力検証 を適用し、SQL 制御文字を拒否する

分析

カテゴリ