Voltar às atualizações
UpdatedSep 2, 2026

CVE-2026-0603 — Updated!

Hibernate ORM Injeção SQL de Segunda Ordem

Compartilhar

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

CategoriaVersão
VulnerávelHibernate ORM 5.2.8 ≤ versão ≤ 5.6.15
CorrigidaSem 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 InlineIdsOrClauseBulkIdStrategy do application.yml
  • Se InlineIdsOrClauseBulkIdStrategy precisar 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

Análise

Categorias