CVE-2024-36401 OSGeo GeoServer GeoTools Eval Injection Vulnerability
OSGeo GeoServer GeoTools contains an improper neutralization of directives in dynamically evaluated code vulnerability due to unsafely evaluating property names as XPath expressions. This allows unauthenticated attackers to conduct remote code execution via specially crafted input.
From the CISA KEV catalogue version 2026.11.06, with Cybergen analysis. Updated 6 Nov 2026.
Should You Worry?
- CISA confirmed exploitation in the wild and added it to the Known Exploited Vulnerabilities catalogue on 15 Jul 2024.
- Rated Critical severity (CVSS 9.8, scored by Vendor).
- It has been in the catalogue for 844 days. Systems still unpatched now have almost certainly been scanned for it.
What It Is
GeoServer is an open source server that allows users to share and edit geospatial data. Prior to versions 2.22.6, 2.23.6, 2.24.4, and 2.25.2, multiple OGC request parameters allow Remote Code Execution (RCE) by unauthenticated users through specially crafted input against a default GeoServer installation due to unsafely evaluating property names as XPath expressions. The GeoTools library API that GeoServer calls evaluates property/attribute names for feature types in a way that unsafely passes them to the commons-jxpath library which can execute arbitrary code when evaluating XPath expressions. This XPath evaluation is intended to be used only by complex feature types (i.e., Application Schema data stores) but is incorrectly being applied to simple feature types as well which makes this vulnerability apply to **ALL** GeoServer instances. No public PoC is provided but this vulnerability has been confirmed to be exploitable through WFS GetFeature, WFS GetPropertyValue, WMS GetMap, WMS GetFeatureInfo, WMS GetLegendGraphic and WPS Execute requests. This vulnerability can lead to executing arbitrary code. Versions 2.22.6, 2.23.6, 2.24.4, and 2.25.2 contain a patch for the issue. A workaround exists by removing the `gt-complex-x.y.jar` file from the GeoServer where `x.y` is the GeoTools version (e.g., `gt-complex-31.1.jar` if running GeoServer 2.25.1). This will remove the vulnerable code from GeoServer but may break some GeoServer functionality or prevent GeoServer from deploying if the gt-complex module is needed.
Affected Versions
| Product | Versions |
|---|---|
| geoserver geoserver | >= 2.23.0, < 2.23.6 >= 2.24.0, < 2.24.4 >= 2.25.0, < 2.25.2 < 2.22.6 |
From the public CVE record, as supplied by the vendor. Always confirm against the vendor advisory.
What To Do Now
- 1
Find it
Search your asset inventory and external attack surface for OSGeo GeoServer. Include cloud images, appliances and anything a supplier runs for you.
Attack Surface Management - 2
Fix it
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Vulnerability Management - 3
Hunt for compromise
If an affected system was reachable before you patched, assume it may have been hit. Check logs, new accounts, web shells and outbound connections from the date of exposure.
Incident Response - 4
Prove it is fixed
Rescan or test the system after patching. Upgrades that fail silently and forgotten secondary instances are common.
Penetration Testing
Vendor Advisories
The Compliance Clock
General guidance, not legal advice. Your obligations depend on your sector, scope and jurisdiction.
Not Sure If You Are Exposed?
Our attack surface and vulnerability teams can check your internet-facing estate for CVE-2024-36401 and every other exploited flaw on the list.
Sources
- CISA Known Exploited Vulnerabilities catalogue
- NVD: CVE-2024-36401
- CVE record: CVE-2024-36401
- FIRST EPSS
- github.com/geoserver/geoserver/security/advisories/GHSA-6jj6-gm7p-fcvv
- github.com/geotools/geotools/security/advisories/GHSA-w3pj-wh35-fq8w
- github.com/geotools/geotools/pull/4797
- github.com/Warxim/CVE-2022-41852?tab=readme-ov-file#workaround-for-cve-2022-41852
- osgeo-org.atlassian.net/browse/GEOT-7587
