{"id":"CVE-2022-39135","aliases":["EUVD-2022-6798","GHSA-fj2m-w3wv-x9pr"],"status":"published","title":"Apache Calcite: potential XEE attacks","description":"Apache Calcite 1.22.0 introduced the SQL operators EXISTS_NODE, EXTRACT_XML, XML_TRANSFORM and EXTRACT_VALUE do not restrict XML External Entity references in their configuration, making 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.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.02248,"percentile":0.83038,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-611"],"published":"2022-09-11T00:00:00Z","modified":"2026-10-28T02:31:05Z","fixes":[{"ecosystem":"Maven","package":"org.apache.calcite:calcite-core","fixed_in":["1.32.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.apache.calcite:calcite-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.22.0"},{"fixed":"1.32.0"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.apache.calcite:calcite-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.22.0"},{"fixed":"1.32.0"}]}],"versions":["1.22.0","1.23.0","1.24.0","1.25.0","1.26.0","1.27.0","1.28.0","1.29.0","1.30.0","1.31.0"]}],"products":[{"vendor":"apache","product":"calcite"},{"vendor":"apache software foundation","product":"apache calcite"}],"references":[{"url":"https://lists.apache.org/thread/ohdnhlgm6jvt3srw8l7spkm2d5vwm082","tags":["x_transferred","Mailing List","Vendor Advisory","web"]},{"url":"http://www.openwall.com/lists/oss-security/2022/11/21/3","tags":["mailing-list","x_transferred","Mailing List","Mitigation","Third Party Advisory","article","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-39135","tags":["advisory"]},{"url":"https://github.com/apache/calcite/commit/1ddc1c3a0c61","tags":["web"]},{"url":"https://github.com/apache/calcite/commit/ba80b9156afc0db26b194d97a031fcc0dc7f4c03","tags":["web"]},{"url":"https://calcite.apache.org/news/2022/09/10/release-1.32.0","tags":["web"]},{"url":"https://github.com/apache/calcite/blob/calcite-1.22.0/core/src/main/java/org/apache/calcite/runtime/XmlFunctions.java","tags":["web"]},{"url":"https://github.com/apache/calcite/blob/calcite-1.31.0/core/src/main/java/org/apache/calcite/runtime/XmlFunctions.java","tags":["web"]},{"url":"https://github.com/apache/calcite/blob/calcite-1.32.0/core/src/main/java/org/apache/calcite/runtime/XmlFunctions.java","tags":["web"]},{"url":"https://github.com/apache/calcite/tree/calcite-1.19.0/core/src/main/java/org/apache/calcite/runtime","tags":["web"]},{"url":"https://issues.apache.org/jira/browse/CALCITE-5263","tags":["web"]},{"url":"https://security.snyk.io/vuln/SNYK-JAVA-ORGAPACHECALCITE-3021143","tags":["web"]},{"url":"https://github.com/advisories/GHSA-fj2m-w3wv-x9pr"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39135.json","tags":["advisory"]},{"url":"https://github.com/apache/calcite","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2022-39135","title":"Apache Calcite: potential XEE attacks","description":"Apache Calcite 1.22.0 introduced the SQL operators EXISTS_NODE, EXTRACT_XML, XML_TRANSFORM and EXTRACT_VALUE do not restrict XML External Entity references in their configuration, making 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.","status":"published","published":"2022-09-11T00:00:00Z","modified":"2024-08-03T11:10:32.601Z","cwes":["CWE-611"],"updated_at":"2026-11-02T14:34:39.559326Z"}],"euvd":[{"id":"EUVD-2022-6798","description":"Apache Calcite 1.22.0 introduced the SQL operators EXISTS_NODE, EXTRACT_XML, XML_TRANSFORM and EXTRACT_VALUE do not restrict XML External Entity references in their configuration, making 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.","status":"published","published":"2022-09-11T00:00:00Z","modified":"2024-08-03T11:10:32Z","updated_at":"2026-11-03T03:25:21.461008Z"}],"ghsa":[{"id":"GHSA-fj2m-w3wv-x9pr","title":"Apache Calcite before 1.32.0 vulnerable to potential XML External Entity (XXE) attack","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.","status":"published","published":"2022-09-12T00:00:34Z","modified":"2026-09-29T21:27:09Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-611"],"updated_at":"2026-11-02T14:41:22.654187Z"}],"nvd":[{"id":"CVE-2022-39135","description":"Apache Calcite 1.22.0 introduced the SQL operators EXISTS_NODE, EXTRACT_XML, XML_TRANSFORM and EXTRACT_VALUE do not restrict XML External Entity references in their configuration, making 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.","status":"published","published":"2022-09-11T12:15:08.437Z","modified":"2026-06-17T04:57:41.723Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"}],"cwes":["CWE-611"],"updated_at":"2026-11-02T14:07:27.631109Z"}],"osv":[{"id":"GHSA-fj2m-w3wv-x9pr","title":"Apache Calcite before 1.32.0 vulnerable to potential XML External Entity (XXE) attack","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.","status":"published","published":"2022-09-12T00:00:34Z","modified":"2026-09-29T21:30:09.149150258Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-611"],"updated_at":"2026-11-02T15:46:46.39441Z"},{"id":"CVE-2022-39135","title":"Apache Calcite: potential XEE attacks","description":"Apache Calcite 1.22.0 introduced the SQL operators EXISTS_NODE, EXTRACT_XML, XML_TRANSFORM and EXTRACT_VALUE do not restrict XML External Entity references in their configuration, making 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.","status":"published","published":"2022-09-11T00:00:00Z","modified":"2026-10-28T02:31:05.37689769Z","cwes":["CWE-611"],"updated_at":"2026-11-02T15:44:26.53798Z"}]}}
