★ CVE-2026-0603 Hibernate SQL 注入 PoC ★
https://github.com/user-attachments/assets/2e7c3a89-e26f-48cd-af0b-8b82d32ce71f
CVE-2026-0603 是 Hibernate ORM(一款广泛使用的 Java ORM 框架)中的 二次 SQL 注入 漏洞。
当包含恶意 SQL 载荷的用户提供字符串主键被用于批量 DELETE 或 UPDATE 操作时,Hibernate 会将该值直接插入 WHERE 子句而不进行净化处理,导致 数据库记录被意外大规模删除或修改。
| 类别 | 版本 |
|---|---|
| 受影响 | Hibernate ORM 5.2.8 ≤ version ≤ 5.6.15 |
| 已修复 | 无官方补丁 (5.6.x 已停止维护) |
docker build -t cve-2026-0603-hibernate-vuln .
docker run --rm -it -p 8080:8080 --name hibernate-vuln cve-2026-0603-hibernate-vuln
启动存在漏洞的环境后,按照以下步骤复现攻击。
username: ' or '1' = '1
点击已注册账户上的更新或删除按钮。
验证 DELETE 或 UPDATE 查询是否应用于所有行,而不仅仅是已注册的账户。 对于 DELETE,两个表中的所有记录均被删除。 对于 UPDATE,所有记录均被修改为攻击者提供的值。
application.yml 中移除 InlineIdsOrClauseBulkIdStrategy 设置InlineIdsOrClauseBulkIdStrategy,请对任何用户提供的主键值应用严格的 基于白名单的输入验证,以拒绝 SQL 控制字符