CVE-2022-36364
Apache Calcite Avatica JDBC driver creates HTTP client instances based on class names provided via `httpclient_impl` connection property; however, the driver does not verify if the class implements the expected interface before instantiating it, which can lead to code execution loaded via arbitrary classes and in rare cases remote code execution. To exploit the vulnerability: 1) the attacker needs to have privileges to control JDBC connection parameters; 2) and there should be a vulnerable class (constructor with URL parameter and ability to execute code) in the classpath. From Apache Calcite Avatica 1.22.0 onwards, it will be verified that the class implements the expected interface before invoking its constructor.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Puntuación base: 8.8
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 3.20%
- Percentil entre todas las CVEs puntuadas: 88
- Fecha de la puntuación: 6/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-665
- CWE-665
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2022-36364",
"cveTags": [],
"metrics": {
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.8,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 2.8
}
]
},
"affected": [
{
"source": "security@apache.org",
"affectedData": [
{
"vendor": "Apache Software Foundation",
"product": "Apache Calcite Avatica",
"versions": [
{
"status": "affected",
"version": "Apache Calcite Avatica",
"lessThan": "1.22.0",
"versionType": "custom"
}
]
}
]
}
],
"published": "2022-07-28T09:15:08.350",
"references": [
{
"url": "http://www.openwall.com/lists/oss-security/2022/07/28/1",
"tags": [
"Mailing List",
"Third Party Advisory"
],
"source": "security@apache.org"
},
{
"url": "https://lists.apache.org/thread/5csdj8bv4h3hfgw27okm84jh1j2fyw0c",
"tags": [
"Mailing List",
"Vendor Advisory"
],
"source": "security@apache.org"
},
{
"url": "http://www.openwall.com/lists/oss-security/2022/07/28/1",
"tags": [
"Mailing List",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://lists.apache.org/thread/5csdj8bv4h3hfgw27okm84jh1j2fyw0c",
"tags": [
"Mailing List",
"Vendor Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security@apache.org",
"description": [
{
"lang": "en",
"value": "CWE-665"
}
]
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-665"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Apache Calcite Avatica JDBC driver creates HTTP client instances based on class names provided via `httpclient_impl` connection property; however, the driver does not verify if the class implements the expected interface before instantiating it, which can lead to code execution loaded via arbitrary classes and in rare cases remote code execution. To exploit the vulnerability: 1) the attacker needs to have privileges to control JDBC connection parameters; 2) and there should be a vulnerable class (constructor with URL parameter and ability to execute code) in the classpath. From Apache Calcite Avatica 1.22.0 onwards, it will be verified that the class implements the expected interface before invoking its constructor."
},
{
"lang": "es",
"value": "El driver JDBC de Apache Calcite Avatica crea instancias de clientes HTTP basadas en nombres de clase proporcionados por medio de la propiedad de conexión \"httpclient_impl\"; sin embargo, el driver no verifica si la clase implementa la interfaz esperada antes de instanciarla, lo que puede conllevar a una ejecución de código cargado por medio de clases arbitrarias y, en casos raros, la ejecución de código remoto. Para explotar la vulnerabilidad: 1) el atacante necesita tener privilegios para controlar los parámetros de conexión JDBC; 2) y debe haber una clase vulnerable (constructor con parámetro URL y capacidad de ejecución de código) en el classpath. A partir de Apache Calcite Avatica 1.22.0, será comprobado que la clase implementa la interfaz esperada antes de invocar su constructor"
}
],
"lastModified": "2026-06-17T04:53:19.843",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:apache:apache_calcite_avatica:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "AB2A9531-25E0-415E-AB7E-9F359E3F96CE",
"versionEndExcluding": "1.22.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security@apache.org"
}