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
- github.com/geotools/geotools@f0c9961 commit
- github.com/geotools/geotools#4797 pull request
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
-
github.com
/geotools/geotools/pull/4797
web
-
github.com
/geotools/geotools/commit/f0c9961dc4d40c5acfce2169fab92805738de5ea
web
-
github.com
/geotools/geotools/security/advisories/GHSA-w3pj-wh35-fq8w
web
-
github.com
/Warxim/CVE-2022-41852?tab=readme-ov-file#workaround-for-cve-2022-41852
web
-
osgeo-org.atlassian.net
/browse/GEOT-7587
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2024%20Releases/24.0/geotools-24.0-patches.zip/download
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2025%20Releases/25.2/geotools-25.2-patches.zip/download
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2026%20Releases/26.4
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2026%20Releases/26.7/geotools-26.7-patches.zip/download
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2027%20Releases/27.4/geotools-27.4-patches.zip/download
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2027%20Releases/27.5/geotools-27.5-patches.zip/download
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2028%20Releases/28.2/geotools-28.2-patches.zip/download
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2029%20Releases/29.2/geotools-29.2-patches.zip/download
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2030%20Releases/30.2/geotools-30.2-patches.zip/download
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2030%20Releases/30.3/geotools-30.3-patches.zip/download
web
-
sourceforge.net
/projects/geotools/files/GeoTools%2031%20Releases/31.1
web
-
nvd.nist.gov
/vuln/detail/CVE-2024-36404
advisory
-
github.com
/geotools/geotools
package
Sources
- CVE List CVE-2024-36404
- GitHub Advisory GHSA-w3pj-wh35-fq8w
- NVD CVE-2024-36404
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.