PT-2022-16895

CVE-2022-24815

·

Publicado

2022-04-07

·

Atualizado

2022-04-19

Descrição por

CVSS 3.1
8.1
Alta
MétricasAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Versões do JHipster anteriores à 7.8.1
Descrição
Existe uma vulnerabilidade de injeção de SQL nas entidades de aplicativos gerados com a opção “reactive with Spring WebFlux” ativada e um banco de dados SQL utilizando o r2dbc. Este problema afeta aplicativos monolíticos e de microsserviços com combinação de banco de dados SQL e reativo com Spring WebFlux, bem como aplicativos Gateway com banco de dados SQL. A vulnerabilidade é possível no método findAllBy(Pageable pageable, Criteria criteria) de uma classe de repositório de entidades gerada nesses aplicativos, pois a cláusula where que utiliza Criteria para consultas não é sanitizada e a entrada do usuário é passada tal como está pelos critérios. A origem do problema está na classe EntityManager.java ao criar a cláusula where via Conditions.just(criteria.toString()), onde just aceita a string literal fornecida e o método toString do Criteria retorna uma string simples, tornando-a vulnerável à injeção de SQL.
Recomendações
Para versões anteriores à 7.8.1, atualize para a versão 7.8.1 ou posterior para corrigir a vulnerabilidade.
Como solução temporária, tenha cuidado ao combinar critérios e condições e evite passar critérios fornecidos pelo usuário para o método createSelect do EntityManager.
Restrinja o acesso ao método vulnerável findAllBy(Pageable pageable, Criteria criteria) até que o problema seja resolvido.
Audite as aplicações reativas existentes geradas pela versão afetada quanto ao uso de Criteria e t
Explorabilidade
Exploit
Correção
Impactos
Pesquisadores
Fornecedores
Produtos afetados
Identificadores relacionados
GHSA-QJMQ-8HJR-QCV6
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾