CVE-2022-24815
JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures. SQL Injection vulnerability in entities for applications generated with the option "reactive with Spring WebFlux" enabled and an SQL database using r2dbc. Applications created without "reactive with Spring WebFlux" and applications with NoSQL databases are not affected. Users who have generated a microservice Gateway using the affected version may be impacted as Gateways are reactive by default.
Leer descripción completaMostrar menos
Currently, SQL injection is possible in the findAllBy(Pageable pageable, Criteria criteria) method of an entity repository class generated in these applications as the where clause using Criteria for queries are not sanitized and user input is passed on as it is by the criteria. This issue has been patched in v7.8.1. Users unable to upgrade should be careful when combining criterias and conditions as the root of the issue lies in the `EntityManager.java` class when creating the where clause via `Conditions.just(criteria.toString())`. `just` accepts the literal string provided. Criteria's `toString` method returns a plain string and this combination is vulnerable to sql injection as the string is not sanitized and will contain whatever used passed as input using any plain SQL.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- Puntuación base: 8.1
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 1.38%
- Percentil entre todas las CVEs puntuadas: 71
- Fecha de la puntuación: 7/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
CWE
- CWE-89
Referencias
- https://github.com/jhipster/generator-jhipster/commit/c220a210fd7742c53eea72bd5fadbb96220faa98
- https://github.com/jhipster/generator-jhipster/issues/18269
- https://github.com/jhipster/generator-jhipster/security/advisories/GHSA-qjmq-8hjr-qcv6
- https://github.com/jhipster/generator-jhipster/commit/c220a210fd7742c53eea72bd5fadbb96220faa98
- https://github.com/jhipster/generator-jhipster/issues/18269
- https://github.com/jhipster/generator-jhipster/security/advisories/GHSA-qjmq-8hjr-qcv6
JSON original (NVD)
Mostrar
{
"id": "CVE-2022-24815",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2022-24815",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2025-04-22T15:43:58.432237Z"
}
}
],
"cvssMetricV2": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"version": "2.0",
"baseScore": 6.8,
"accessVector": "NETWORK",
"vectorString": "AV:N/AC:M/Au:N/C:P/I:P/A:P",
"authentication": "NONE",
"integrityImpact": "PARTIAL",
"accessComplexity": "MEDIUM",
"availabilityImpact": "PARTIAL",
"confidentialityImpact": "PARTIAL"
},
"acInsufInfo": false,
"impactScore": 6.4,
"baseSeverity": "MEDIUM",
"obtainAllPrivilege": false,
"exploitabilityScore": 8.6,
"obtainUserPrivilege": false,
"obtainOtherPrivilege": false,
"userInteractionRequired": false
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.1,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 2.2
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.1,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 2.2
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "jhipster",
"product": "generator-jhipster",
"versions": [
{
"status": "affected",
"version": ">= 7.0.0, < 7.8.1"
}
]
}
]
}
],
"published": "2022-04-11T20:15:20.217",
"references": [
{
"url": "https://github.com/jhipster/generator-jhipster/commit/c220a210fd7742c53eea72bd5fadbb96220faa98",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/jhipster/generator-jhipster/issues/18269",
"tags": [
"Exploit",
"Issue Tracking",
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/jhipster/generator-jhipster/security/advisories/GHSA-qjmq-8hjr-qcv6",
"tags": [
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/jhipster/generator-jhipster/commit/c220a210fd7742c53eea72bd5fadbb96220faa98",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/jhipster/generator-jhipster/issues/18269",
"tags": [
"Exploit",
"Issue Tracking",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/jhipster/generator-jhipster/security/advisories/GHSA-qjmq-8hjr-qcv6",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-89"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures. SQL Injection vulnerability in entities for applications generated with the option \"reactive with Spring WebFlux\" enabled and an SQL database using r2dbc. Applications created without \"reactive with Spring WebFlux\" and applications with NoSQL databases are not affected. Users who have generated a microservice Gateway using the affected version may be impacted as Gateways are reactive by default. Currently, SQL injection is possible in the findAllBy(Pageable pageable, Criteria criteria) method of an entity repository class generated in these applications as the where clause using Criteria for queries are not sanitized and user input is passed on as it is by the criteria. This issue has been patched in v7.8.1. Users unable to upgrade should be careful when combining criterias and conditions as the root of the issue lies in the `EntityManager.java` class when creating the where clause via `Conditions.just(criteria.toString())`. `just` accepts the literal string provided. Criteria's `toString` method returns a plain string and this combination is vulnerable to sql injection as the string is not sanitized and will contain whatever used passed as input using any plain SQL."
},
{
"lang": "es",
"value": "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"
}
],
"lastModified": "2026-06-17T04:32:34.917",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:jhipster:generator-jhipster:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "056A57BE-F484-4FE0-B0A0-A4ADB5DCEBE0",
"versionEndExcluding": "7.8.1",
"versionStartIncluding": "7.0.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}