Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Jhipster (CVE-2022-24815)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-89 Neutralización incorrecta de elementos especiales usados en un comando SQL (Inyección SQL)
Fecha de publicación:
11/04/2022
Última modificación:
19/04/2022

Descripción

JHipster es una plataforma de desarrollo para generar, desarrollar y desplegar rápidamente aplicaciones web modernas y arquitecturas de microservicios. Vulnerabilidad de inyección SQL en entidades para aplicaciones generadas con la opción "reactiva con Spring WebFlux" habilitada y una base de datos SQL usando r2dbc. Las aplicaciones creadas sin "reactivo con Spring WebFlux" y las aplicaciones con bases de datos NoSQL no están afectadas. Los usuarios que hayan generado un microservicio Gateway usando la versión afectada pueden verse afectados ya que los Gateways son reactivos por defecto. Actualmente, la inyección SQL es posible en el método findAllBy(Pageable pageable, Criteria criteria) de una clase de repositorio de entidades generada en estas aplicaciones, ya que la cláusula where que usa Criteria para las consultas no está saneada y la entrada del usuario es pasada tal cual por los criterios. Este problema ha sido parcheado en versión 7.8.1. Los usuarios que no puedan actualizar deberán tener cuidado cuando combinen criterios y condiciones, ya que la raíz del problema es encontrada en la clase "EntityManager.java' cuando es creada la cláusula where por medio de "Conditions.just(criteria.toString())". La clase "just" acepta la cadena literal proporcionada. El método "toString" de Criteria devuelve una cadena simple y esta combinación es vulnerable a una inyección de sql, ya que la cadena no está saneada y contendrá lo que haya sido pasado como entrada usando cualquier SQL simple

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:jhipster:generator-jhipster:*:*:*:*:*:node.js:*:* 7.0.0 (incluyendo) 7.8.1 (excluyendo)