
CVE-2026-0603 — Updated!
Hibernate ORM Injeção SQL de Segunda Ordem
CVE-2026-0603 Injeção em Hibernate ORM / Injeção SQL de Segunda Ordem
★ PoC de Injeção SQL em Hibernate CVE-2026-0603 ★
https://github.com/user-attachments/assets/2e7c3a89-e26f-48cd-af0b-8b82d32ce71f
Visão Geral
CVE-2026-0603 é uma vulnerabilidade de Injeção SQL de Segunda Ordem no Hibernate ORM, um framework ORM Java amplamente utilizado.
Quando uma chave primária do tipo string fornecida pelo usuário contendo um payload SQL malicioso é usada em uma operação em massa de DELETE ou UPDATE, o Hibernate insere o valor diretamente na cláusula WHERE sem sanitização, causando exclusão ou modificação massiva não intencional de registros do banco de dados.
Versões Afetadas
| Categoria | Versão |
|---|---|
| Vulnerável | Hibernate ORM 5.2.8 ≤ versão ≤ 5.6.15 |
| Corrigida | Sem patch oficial (5.6.x EOL) |
Impacto
- Exclusão massiva de registros em múltiplas tabelas
- Modificação massiva de registros em múltiplas tabelas
- Potencial exfiltração de dados sensíveis do banco de dados
Ambiente
docker build -t cve-2026-0603-hibernate-vuln .
docker run --rm -it -p 8080:8080 --name hibernate-vuln cve-2026-0603-hibernate-vuln
PoC
Após iniciar o ambiente vulnerável, siga os passos abaixo para reproduzir o ataque.
Passo 1. Registre-se com um nome de usuário malicioso
username: ' or '1' = '1
Passo 2. Dispare o update ou delete
Clique no botão de update ou delete na conta registrada.
Passo 3. Confirme que todos os dados de usuários foram afetados
Verifique que a query DELETE ou UPDATE foi aplicada a todas as linhas, não apenas à conta registrada. Para DELETE, todos os registros de ambas as tabelas são removidos. Para UPDATE, todos os registros são modificados com os valores fornecidos pelo atacante.
Mitigação
- Remova a configuração
InlineIdsOrClauseBulkIdStrategydoapplication.yml - Se
InlineIdsOrClauseBulkIdStrategyprecisar ser usada, aplique validação de entrada estrita baseada em whitelist em quaisquer valores de chave primária fornecidos pelo usuário para rejeitar caracteres de controle SQL