---
title: "CVE-2024-36404: GeoTools Remote Code Execution (RCE) vulnerability in evaluating XPath expressions"
url: https://erroneo.us/security/cve/CVE-2024-36404/
description: "CVE-2024-36404 (org.geotools:gt-app-schema (Maven)): GeoTools is an open source Java library that provides tools for geospatial data. Prior to versions…"
type: vulnerability-record
section: "Security Digest"
date_published: 2024-07-02
date_modified: 2025-02-05
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2024-36404"
kev: false
cvss: 9.8
epss: 0.76065
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2024-36404: GeoTools Remote Code Execution (RCE) vulnerability in evaluating XPath expressions

**Signal:** High exploit likelihood. EPSS ranks it in the top 5% of all CVEs for likely exploitation in the next 30 days. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 76.1% , percentile 99.5: FIRST’s model estimates a 76.1% chance of exploitation activity in the next 30 days, higher than 99.5% of all scored CVEs (very high). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes org.geotools:gt-app-schema (Maven) >= 30.0, < 30.4, fixed in 30.4 ; org.geotools:gt-complex (Maven) >= 30.0, < 30.4, fixed in 30.4 ; org.geotools.xsd:gt-xsd-core (Maven) >= 30.0, < 30.4, fixed in 30.4 ; org.geotools:gt-app-schema (Maven) >= 31.0, < 31.2, fixed in 31.2 . Check your lockfile, including transitive dependencies.

## What it is

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.

## Affected packages

- Maven `org.geotools:gt-app-schema` >= 30.0, < 30.4 → fixed: 30.4
- Maven `org.geotools:gt-complex` >= 30.0, < 30.4 → fixed: 30.4
- Maven `org.geotools.xsd:gt-xsd-core` >= 30.0, < 30.4 → fixed: 30.4
- Maven `org.geotools:gt-app-schema` >= 31.0, < 31.2 → fixed: 31.2
- Maven `org.geotools:gt-complex` >= 31.0, < 31.2 → fixed: 31.2
- Maven `org.geotools.xsd:gt-xsd-core` >= 31.0, < 31.2 → fixed: 31.2
- Maven `org.geotools:gt-app-schema` >= 29.0, < 29.6 → fixed: 29.6
- Maven `org.geotools:gt-complex` >= 29.0, < 29.6 → fixed: 29.6
- Maven `org.geotools.xsd:gt-xsd-core` >= 29.0, < 29.6 → fixed: 29.6
- Maven `org.geotools:gt-app-schema` < 28.6 → fixed: 28.6
- Maven `org.geotools:gt-complex` < 28.6 → fixed: 28.6
- Maven `org.geotools.xsd:gt-xsd-core` < 28.6 → fixed: 28.6

## Affected products (CVE record)

- geotools geotools: < 29.6, >= 30.0, < 30.4, >= 31.0, < 31.2

## Severity

- GitHub_M CVSS 3.1: 9.8 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`
- GitHub CVSS 3.1: 9.8 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none , automatable yes , technical impact total .
- FIRST EPSS (model of 2026-10-21): 76.06% probability of exploitation activity in the next 30 days; percentile 99.5.

## Sources

- [GitHub Advisory GHSA-w3pj-wh35-fq8w](https://github.com/advisories/GHSA-w3pj-wh35-fq8w)
- [CVE.org record CVE-2024-36404](https://www.cve.org/CVERecord?id=CVE-2024-36404)
- [NVD entry CVE-2024-36404](https://nvd.nist.gov/vuln/detail/CVE-2024-36404)
- [github.com](https://github.com/geotools/geotools/security/advisories/GHSA-w3pj-wh35-fq8w)
- [github.com](https://github.com/geotools/geotools/pull/4797)
- [github.com](https://github.com/geotools/geotools/commit/f0c9961dc4d40c5acfce2169fab92805738de5ea)
- [github.com](https://github.com/Warxim/CVE-2022-41852?tab=readme-ov-file#workaround-for-cve-2022-41852)
- [osgeo-org.atlassian.net](https://osgeo-org.atlassian.net/browse/GEOT-7587)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2024%20Releases/24.0/geotools-24.0-patches.zip/download)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2025%20Releases/25.2/geotools-25.2-patches.zip/download)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.4)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.7/geotools-26.7-patches.zip/download)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.4/geotools-27.4-patches.zip/download)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.5/geotools-27.5-patches.zip/download)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2028%20Releases/28.2/geotools-28.2-patches.zip/download)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2029%20Releases/29.2/geotools-29.2-patches.zip/download)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.2/geotools-30.2-patches.zip/download)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.3/geotools-30.3-patches.zip/download)
- [sourceforge.net](https://sourceforge.net/projects/geotools/files/GeoTools%2031%20Releases/31.1)

---
Source page: https://erroneo.us/security/cve/CVE-2024-36404/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
