org.apache.calcite:calcite-core: Apache Calcite before 1.32.0 vulnerable to potential XML External Entity (XXE) attack
What fixes it
- 1.32.0org.apache.calcite:calcite-core, mavenGitHub
<dependency><groupId>org.apache.calcite</groupId><artifactId>calcite-core</artifactId><version>1.32.0</version></dependency> - 1.32.0Apache CalciteCVE List
- 1.32.0org.apache.calcite:calcite-core, MavenOSV
<dependency><groupId>org.apache.calcite</groupId><artifactId>calcite-core</artifactId><version>1.32.0</version></dependency>
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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.
Text from CVE List
Affected versions 13
- org.apache.calcite:calcite-core, maven>= 1.22.0, < 1.32.0GitHub
- Apache Calciteaffected: 1.22.0 before 1.32.0CVE List
- org.apache.calcite:calcite-core, Mavenfrom 1.22.0, fixed in 1.32.0OSV
- org.apache.calcite:calcite-core, Maven1.22.0OSV
- org.apache.calcite:calcite-core, Maven1.23.0OSV
- org.apache.calcite:calcite-core, Maven1.24.0OSV
- org.apache.calcite:calcite-core, Maven1.25.0OSV
- org.apache.calcite:calcite-core, Maven1.26.0OSV
- org.apache.calcite:calcite-core, Maven1.27.0OSV
- org.apache.calcite:calcite-core, Maven1.28.0OSV
- org.apache.calcite:calcite-core, Maven1.29.0OSV
- org.apache.calcite:calcite-core, Maven1.30.0OSV
- org.apache.calcite:calcite-core, Maven1.31.0OSV
References 12
- github.com/apache/calcite/commit/1ddc1c3a0c61Fixvia GitHub
- github.com/apache/calcite/commit/ba80b9156afc0db26b194d97a031fcc0dc7f4c03Fixvia GitHub
- security.snyk.io/vuln/SNYK-JAVA-ORGAPACHECALCITE-3021143Advisoryvia GitHub
- github.com/advisories/GHSA-fj2m-w3wv-x9prAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2022-39135Referencevia GitHub
- lists.apache.org/thread/ohdnhlgm6jvt3srw8l7spkm2d5vwm082Referencevia CVE List
- calcite.apache.org/news/2022/09/10/release-1.32.0Referencevia GitHub
- github.com/apache/calcite/blob/calcite-1.22.0/core/src/main/java/org/apache/calcite/runtime/XmlFunctions.javaReferencevia GitHub
- github.com/apache/calcite/blob/calcite-1.31.0/core/src/main/java/org/apache/calcite/runtime/XmlFunctions.javaReferencevia GitHub
- github.com/apache/calcite/blob/calcite-1.32.0/core/src/main/java/org/apache/calcite/runtime/XmlFunctions.javaReferencevia GitHub
- github.com/apache/calcite/tree/calcite-1.19.0/core/src/main/java/org/apache/calcite/runtimeReferencevia GitHub
- issues.apache.org/jira/browse/CALCITE-5263Referencevia GitHub