
Hibernate ORM Inyección SQL de Segundo Orden
★ CVE-2026-0603 PoC de Inyección SQL en Hibernate ★
https://github.com/user-attachments/assets/2e7c3a89-e26f-48cd-af0b-8b82d32ce71f
CVE-2026-0603 es una vulnerabilidad de Inyección SQL de Segundo Orden en Hibernate ORM, un framework ORM de Java ampliamente utilizado.
Cuando una clave primaria de tipo string proporcionada por el usuario que contiene una carga útil SQL maliciosa se utiliza en una operación masiva de DELETE o UPDATE, Hibernate inserta el valor directamente en la cláusula WHERE sin sanitización, provocando la eliminación o modificación masiva no intencionada de registros de la base de datos.
| Categoría | Versión |
|---|
| Vulnerable | Hibernate ORM 5.2.8 ≤ versión ≤ 5.6.15 |
| Parcheada | Sin parche oficial (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
Después de iniciar el entorno vulnerable, siga los pasos a continuación para reproducir el ataque.
username: ' or '1' = '1
Haga clic en el botón de actualizar o eliminar en la cuenta registrada.
Verifique que la consulta DELETE o UPDATE se aplicó a todas las filas, no solo a la cuenta registrada. Para DELETE, todos los registros de ambas tablas son eliminados. Para UPDATE, todos los registros son modificados con los valores proporcionados por el atacante.
InlineIdsOrClauseBulkIdStrategy de application.ymlInlineIdsOrClauseBulkIdStrategy, aplicar una validación de entrada estricta basada en listas blancas sobre cualquier valor de clave primaria proporcionado por el usuario para rechazar caracteres de control SQL