CVE-2024-36404
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.
Read full descriptionShow less
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.
CVSS
- Version: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Base score: 9.8
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days: 76%
- Percentile among all scored CVEs: 100
- Score date: 10/7/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
💥 Public exploits
Exploit code or detection templates are publicly available. This is not the same as confirmed active exploitation (KEV), but it raises the risk: patch with priority.
- Nuclei template (automated mass detection) · GeoServer and GeoTools - Remote Code Execution
Affected technologies (1)
⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.
CWEs
- CWE-95
References
- https://github.com/Warxim/CVE-2022-41852?tab=readme-ov-file#workaround-for-cve-2022-41852
- https://github.com/geotools/geotools/commit/f0c9961dc4d40c5acfce2169fab92805738de5ea
- https://github.com/geotools/geotools/pull/4797
- https://github.com/geotools/geotools/security/advisories/GHSA-w3pj-wh35-fq8w
- https://osgeo-org.atlassian.net/browse/GEOT-7587
- https://sourceforge.net/projects/geotools/files/GeoTools%2024%20Releases/24.0/geotools-24.0-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2025%20Releases/25.2/geotools-25.2-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.4
- https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.7/geotools-26.7-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.4/geotools-27.4-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.5/geotools-27.5-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2028%20Releases/28.2/geotools-28.2-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2029%20Releases/29.2/geotools-29.2-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.2/geotools-30.2-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.3/geotools-30.3-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2031%20Releases/31.1
- https://github.com/Warxim/CVE-2022-41852?tab=readme-ov-file#workaround-for-cve-2022-41852
- https://github.com/geotools/geotools/commit/f0c9961dc4d40c5acfce2169fab92805738de5ea
- https://github.com/geotools/geotools/pull/4797
- https://github.com/geotools/geotools/security/advisories/GHSA-w3pj-wh35-fq8w
- https://osgeo-org.atlassian.net/browse/GEOT-7587
- https://sourceforge.net/projects/geotools/files/GeoTools%2024%20Releases/24.0/geotools-24.0-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2025%20Releases/25.2/geotools-25.2-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.4
- https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.7/geotools-26.7-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.4/geotools-27.4-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.5/geotools-27.5-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2028%20Releases/28.2/geotools-28.2-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2029%20Releases/29.2/geotools-29.2-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.2/geotools-30.2-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.3/geotools-30.3-patches.zip/download
- https://sourceforge.net/projects/geotools/files/GeoTools%2031%20Releases/31.1
Raw JSON (NVD)
Show
{
"id": "CVE-2024-36404",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2024-36404",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2024-07-12T03:55:24.839633Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 9.8,
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "geotools",
"product": "geotools",
"versions": [
{
"status": "affected",
"version": "< 29.6"
},
{
"status": "affected",
"version": ">= 30.0, < 30.4"
},
{
"status": "affected",
"version": ">= 31.0, < 31.2"
}
]
}
]
},
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"affectedData": [
{
"cpes": [
"cpe:2.3:a:geotools:geotools:*:*:*:*:*:*:*:*"
],
"vendor": "geotools",
"product": "geotools",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "29.6",
"versionType": "custom"
}
],
"defaultStatus": "affected"
},
{
"cpes": [
"cpe:2.3:a:geotools:geotools:30.0:-:*:*:*:*:*:*"
],
"vendor": "geotools",
"product": "geotools",
"versions": [
{
"status": "affected",
"version": "30.0",
"lessThan": "30.4",
"versionType": "custom"
}
],
"defaultStatus": "unknown"
},
{
"cpes": [
"cpe:2.3:a:geotools:geotools:31.0:-:*:*:*:*:*:*"
],
"vendor": "geotools",
"product": "geotools",
"versions": [
{
"status": "affected",
"version": "31.0",
"lessThan": "31.2",
"versionType": "custom"
}
],
"defaultStatus": "unknown"
}
]
}
],
"published": "2024-07-02T14:15:13.450",
"references": [
{
"url": "https://github.com/Warxim/CVE-2022-41852?tab=readme-ov-file#workaround-for-cve-2022-41852",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geotools/geotools/commit/f0c9961dc4d40c5acfce2169fab92805738de5ea",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geotools/geotools/pull/4797",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geotools/geotools/security/advisories/GHSA-w3pj-wh35-fq8w",
"source": "security-advisories@github.com"
},
{
"url": "https://osgeo-org.atlassian.net/browse/GEOT-7587",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2024%20Releases/24.0/geotools-24.0-patches.zip/download",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2025%20Releases/25.2/geotools-25.2-patches.zip/download",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.4",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.7/geotools-26.7-patches.zip/download",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.4/geotools-27.4-patches.zip/download",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.5/geotools-27.5-patches.zip/download",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2028%20Releases/28.2/geotools-28.2-patches.zip/download",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2029%20Releases/29.2/geotools-29.2-patches.zip/download",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.2/geotools-30.2-patches.zip/download",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.3/geotools-30.3-patches.zip/download",
"source": "security-advisories@github.com"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2031%20Releases/31.1",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/Warxim/CVE-2022-41852?tab=readme-ov-file#workaround-for-cve-2022-41852",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/geotools/geotools/commit/f0c9961dc4d40c5acfce2169fab92805738de5ea",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/geotools/geotools/pull/4797",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/geotools/geotools/security/advisories/GHSA-w3pj-wh35-fq8w",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://osgeo-org.atlassian.net/browse/GEOT-7587",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2024%20Releases/24.0/geotools-24.0-patches.zip/download",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2025%20Releases/25.2/geotools-25.2-patches.zip/download",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.4",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2026%20Releases/26.7/geotools-26.7-patches.zip/download",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.4/geotools-27.4-patches.zip/download",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2027%20Releases/27.5/geotools-27.5-patches.zip/download",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2028%20Releases/28.2/geotools-28.2-patches.zip/download",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2029%20Releases/29.2/geotools-29.2-patches.zip/download",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.2/geotools-30.2-patches.zip/download",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2030%20Releases/30.3/geotools-30.3-patches.zip/download",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://sourceforge.net/projects/geotools/files/GeoTools%2031%20Releases/31.1",
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-95"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "GeoTools es una librería Java de código abierto que proporciona herramientas para datos geoespaciales. Antes de las versiones 31.2, 30.4 y 29.6, la ejecución remota de código (RCE) es posible si una aplicación utiliza cierta funcionalidad de GeoTools para evaluar las expresiones XPath proporcionadas por la entrada del usuario. Las versiones 31.2, 30.4 y 29.6 contienen una solución para este problema. Como workaround, GeoTools puede operar con funcionalidad reducida eliminando el archivo jar `gt-complex` de la aplicación. Como ejemplo del impacto, el esquema de aplicación \"almacén de datos\" no funcionaría sin la capacidad de utilizar expresiones XPath para consultar contenido complejo. Alternativamente, se puede utilizar un jar GeoTools de reemplazo directo de SourceForge para las versiones 31.1, 30.3, 30.2, 29.2, 28.2, 27.5, 27.4, 26.7, 26.4, 25.2 y 24.0. Estos archivos jar se pueden descargar únicamente y no están disponibles en maven central, con el objetivo de proporcionar rápidamente una solución a las aplicaciones afectadas."
}
],
"lastModified": "2026-06-17T07:36:39.237",
"sourceIdentifier": "security-advisories@github.com"
}