Skip to content
Fencer Vulns
critical 9.8

CVE-2024-36404 in the critical feed json

GeoTools Remote Code Execution (RCE) vulnerability in evaluating XPath expressions

published 2024-07-02 2 y ago modified 2026-06-17 4 mo ago also EUVD-2025-0233 , GHSA-w3pj-wh35-fq8w

cvss
9.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
76.1%
EPSS 76.1% chance of exploitation in 30 days, percentile 99.5%
public exploits
0
none known, plus a Nuclei check

Summary

GeoTools is an open source Java library that provides tools for geospatial data. Prior to versions 31.2, 30.4, and 29.6, Remote Code Execution (RCE) is possible if an application uses certain GeoTools functionality to evaluate XPath expressions supplied by user input. Versions 31.2, 30.4, and 29.6 contain a fix for this issue. As a workaround, GeoTools can operate with reduced functionality by removing the `gt-complex` jar from one's application. As an example of the impact, application schema `datastore` would not function without the ability to use XPath expressions to query complex content. Alternatively, one may utilize a drop-in replacement GeoTools jar from SourceForge for versions 31.1, 30.3, 30.2, 29.2, 28.2, 27.5, 27.4, 26.7, 26.4, 25.2, and 24.0. These jars are for download only and are not available from maven central, intended to quickly provide a fix to affected applications.

Patch / fix

  • maven org.geotools:gt-app-schema 28.6, 29.6, 30.4, 31.2
  • maven org.geotools:gt-complex 28.6, 29.6, 30.4, 31.2
  • maven org.geotools.xsd:gt-xsd-core 28.6, 29.6, 30.4, 31.2
  • geotools geotools 29.6, 30.4, 31.2

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
total
Assessed
2 y ago

Exploit prediction

76.06% chance of exploitation in the next 30 days, higher than 99.5% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • Nuclei template GeoServer and GeoTools - Remote Code Execution nuclei detection template

CVSS scores

assigned by version score vector
CNA 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
GitHub 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
maven org.geotools:gt-app-schema
>=30.0, <30.4
>=31.0, <31.2
>=29.0, <29.6
<28.6
30.4
31.2
29.6
28.6
maven org.geotools:gt-complex
>=30.0, <30.4
>=31.0, <31.2
>=29.0, <29.6
<28.6
30.4
31.2
29.6
28.6
maven org.geotools.xsd:gt-xsd-core
>=30.0, <30.4
>=31.0, <31.2
>=29.0, <29.6
<28.6
30.4
31.2
29.6
28.6

Affected products

  • geotools geotools

Classification

Weakness
  • CWE-95 Improper Neutralization of Directives in Dynamically Evaluated Code

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.