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