PT-2022-16895 · Jhipster · Jhipster
Deepu105
·
Publicado
2022-04-07
·
Atualizado
2022-04-19
·
CVE-2022-24815
CVSS v3.1
8.1
Alta
| Vetor | AV: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 tExploit
Correção
SQL injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Jhipster