Apache Calcite before 1.32.0 vulnerable to potential XML External Entity (XXE) attack
Date: 2022-09
Affected: maven/org.apache.calcite:calcite-core
Attack vector: other
Category: vulnerability-disclosure
Severity: Critical
CVE: CVE-2022-39135
CWE: CWE-611
CVSS: 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

In Apache Calcite prior to version 1.32.0 the SQL operators EXISTS_NODE, EXTRACT_XML, XML_TRANSFORM and EXTRACT_VALUE do not restrict XML External Entity references in their configuration, which makes them vulnerable to a potential XML External Entity (XXE) attack. Therefore any client exposing these operators, typically by using Oracle dialect (the first three) or MySQL dialect (the last one), is affected by this vulnerability (the extent of it will depend on the user under which the application is running). From Apache Calcite 1.32.0 onwards, Document Type Declarations and XML External Entity resolution are disabled on the impacted operators.


Mitigations:

Architectural layers (MAESTRO):