Deepu105

#31387de 53,632
8.1CVSS total
Vulnerabilidades · 1
PT-2022-16895
8.1
2022-04-07
Jhipster · Jhipster · CVE-2022-24815
**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