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.
CVE-2024-36404
Score elevated to 9.8 because EPSS predicts 91% probability of exploitation within the next 30 days (top 0.4% of all CVEs). NVD baseline CVSS 9.8 retained for reference. Confidence: see factors.
- High exploitation likelihood — EPSS 75%
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 9.8
- EG Score
- 9.8(high)
- EPSS
- 99.5%
- KEV
- Not listed
Published
July 2, 2024
Last Modified
April 15, 2026
Advisory Details (6)
Auto-updated May 4, 2026GeoTools, the Java GIS toolkit - Browse /GeoTools 26 Releases/26.4 at SourceForge.net
https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.4Remote Code Execution (RCE) vulnerability in evaluating XPath expressions · Advisory · geotools/geotools · GitHub
https://github.com/geotools/geotools/security/advisories/GHSA-w3pj-wh35-fq8w[GEOT-7587] Improve handling of XPath expressions by sikeoka · Pull Request #4797 · geotools/geotools · GitHub
https://github.com/geotools/geotools/pull/4797[GEOT-7587] Improve handling of XPath expressions · geotools/geotools@f0c9961 · GitHub
https://github.com/geotools/geotools/commit/f0c9961dc4d40c5acfce2169fab92805738de5eaGitHub - Warxim/CVE-2022-41852: CVE-2022-41852 Proof of Concept (unofficial) · GitHub
https://github.com/Warxim/CVE-2022-41852?tab=readme-ov-file#workaround-for-cve-2022-41852Affected Packages
(3 across 1 ecosystem)
Maven(3)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| org.geotools:gt-app-schema | — | 28.6 | — |
| org.geotools:gt-complex | — | 28.6 | — |
| org.geotools.xsd:gt-xsd-core | — | 28.6 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 9× in last 7d / 35× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-22 14:07 UTCEPSS rescore
- 2026-07-22 14:07 UTCEPSS rescore
- 2026-07-20 17:06 UTCEPSS rescore
- 2026-07-19 14:30 UTCEPSS rescore
- 2026-07-19 14:30 UTCEPSS rescore
- 2026-07-19 02:28 UTCEPSS rescore
- 2026-07-19 02:28 UTCEPSS rescore
- 2026-07-18 10:03 UTCEPSS rescore
- 2026-07-16 17:02 UTCEPSS rescore
- 2026-07-15 16:56 UTCEPSS rescore
- 2026-07-15 16:56 UTCEPSS rescore
- 2026-07-15 01:59 UTCEPSS rescore
- 2026-07-15 01:59 UTCEPSS rescore
- 2026-07-12 05:45 UTCEPSS rescore
- 2026-07-11 08:26 UTCEPSS rescore
- 2026-07-11 08:26 UTCEPSS rescore
- 2026-07-11 03:52 UTCOSV refresh
- 2026-07-08 15:14 UTCEPSS rescore
- 2026-07-08 15:13 UTCEPSS rescore
- 2026-07-05 02:29 UTCEPSS rescore
- 2026-07-01 15:05 UTCEPSS rescore
- 2026-06-30 23:21 UTCEPSS rescore
- 2026-06-30 23:21 UTCEPSS rescore
- 2026-06-29 14:05 UTCEPSS rescore
- 2026-06-28 14:06 UTCEPSS rescore
Show 59 moreShow fewer
- 2026-06-28 14:06 UTCEPSS rescore
- 2026-06-28 04:55 UTCEPSS rescore
- 2026-06-28 04:55 UTCEPSS rescore
- 2026-06-27 03:07 UTCEPSS rescore
- 2026-06-27 03:07 UTCEPSS rescore
- 2026-06-25 13:49 UTCEPSS rescore
- 2026-06-24 14:04 UTCEPSS rescore
- 2026-06-24 14:04 UTCEPSS rescore
- 2026-06-23 21:32 UTCEPSS rescore
- 2026-06-23 21:32 UTCEPSS rescore
- 2026-06-22 11:02 UTCOSV refresh
- 2026-06-21 01:58 UTCEPSS rescore
- 2026-06-21 01:58 UTCEPSS rescore
- 2026-06-18 17:52 UTCEPSS rescore
- 2026-06-18 17:51 UTCEPSS rescore
- 2026-06-17 17:52 UTCEPSS rescore
- 2026-06-15 17:47 UTCEPSS rescore
- 2026-06-13 22:59 UTCEPSS rescore
- 2026-06-13 22:59 UTCEPSS rescore
- 2026-06-12 23:11 UTCEPSS rescore
- 2026-06-11 13:59 UTCEPSS rescore
- 2026-06-10 22:17 UTCEPSS rescore
- 2026-06-08 14:16 UTCEPSS rescore
- 2026-06-07 15:24 UTCEPSS rescore
- 2026-06-07 15:24 UTCEPSS rescore
- 2026-06-05 22:46 UTCEPSS rescore
- 2026-06-05 22:46 UTCEPSS rescore
- 2026-06-05 06:09 UTCEPSS rescore
- 2026-06-05 06:09 UTCEPSS rescore
- 2026-06-04 15:39 UTCOSV refresh
- 2026-06-04 13:11 UTCEPSS rescore
- 2026-06-04 13:11 UTCEPSS rescore
- 2026-05-31 22:30 UTCEPSS rescore
- 2026-05-31 22:30 UTCEPSS rescore
- 2026-05-31 00:15 UTCEPSS rescore
- 2026-05-31 00:15 UTCEPSS rescore
- 2026-05-27 13:40 UTCEPSS rescore
- 2026-05-27 13:40 UTCEPSS rescore
- 2026-05-27 13:40 UTCEPSS rescore
- 2026-05-26 13:43 UTCEPSS rescore
- 2026-05-26 13:43 UTCEPSS rescore
- 2026-05-26 07:18 UTCEPSS rescore
- 2026-05-26 07:18 UTCEPSS rescore
- 2026-05-26 07:18 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 00:34 UTCEG score recompute
- 2026-05-21 22:42 UTCEPSS rescore
- 2026-05-21 22:42 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-18 21:30 UTCEPSS rescore
- 2026-05-18 21:30 UTCEPSS rescore
- 2026-05-18 21:30 UTCEPSS rescore
- 2026-05-18 21:30 UTCEPSS rescore
Publicly available exploits
(1 reference)Working exploit code is in the public domain. Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- Nucleihttp/cves/2024/CVE-2024-36404.yamlFirst seen Jan 1, 2024
GeoServer and GeoTools - Remote Code Execution
Open source ↗
Frequently asked(5)
What is CVE-2024-36404?
When was CVE-2024-36404 disclosed?
Is CVE-2024-36404 actively exploited?
What is the CVSS score of CVE-2024-36404?
How do I remediate CVE-2024-36404?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2024-36404
Is Your Infrastructure Affected by CVE-2024-36404?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.