Security Digest · Vulnerability record · Known exploited
CVE-2024-36401: OSGeo GeoServer GeoTools Eval Injection Vulnerability
Exploited in the wild (CISA KEV). GeoServer is an open source server that allows users to share and edit geospatial data.
CISA KEV · added 2024-07-15 CVSS 9.3 Critical EPSS 99.8% · p100.0
Should you act?
Exploited: patch now if you run it
CISA has confirmed exploitation in the wild. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.
- Yes, if you run OSGeo GeoServer. CISA added this CVE to its Known Exploited Vulnerabilities catalog on 2024-07-15, which means there is reliable evidence of exploitation in the wild. US federal agencies must remediate by 2024-08-05; treat that as the outer limit, not the target.
- EPSS 99.8%, percentile 100.0: FIRST’s model estimates a 99.8% chance of exploitation activity in the next 30 days, higher than 100.0% 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.geoserver.web:gs-web-app(Maven) >= 2.24.0, < 2.24.4, fixed in 2.24.4;org.geoserver:gs-wfs(Maven) >= 2.24.0, < 2.24.4, fixed in 2.24.4;org.geoserver:gs-wms(Maven) >= 2.24.0, < 2.24.4, fixed in 2.24.4;org.geoserver.web:gs-web-app(Maven) >= 2.25.0, < 2.25.2, fixed in 2.25.2. Check your lockfile, including transitive dependencies.
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.
From the GitHub advisory
Summary 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.
Details 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.
PoC 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.
Impact This vulnerability can lead to executing arbitrary code.
Workaround
CISA’s summary
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.
Weakness type: CWE-95, CWE-94.
Product: OSGeo GeoServer · Assigned by: GitHub_M · Published: 2024-07-01
Affected and fixed versions
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| Maven | org.geoserver.web:gs-web-app | >= 2.24.0, < 2.24.4 | 2.24.4 |
| Maven | org.geoserver:gs-wfs | >= 2.24.0, < 2.24.4 | 2.24.4 |
| Maven | org.geoserver:gs-wms | >= 2.24.0, < 2.24.4 | 2.24.4 |
| Maven | org.geoserver.web:gs-web-app | >= 2.25.0, < 2.25.2 | 2.25.2 |
| Maven | org.geoserver:gs-wfs | >= 2.25.0, < 2.25.2 | 2.25.2 |
| Maven | org.geoserver:gs-wms | >= 2.25.0, < 2.25.2 | 2.25.2 |
| Maven | org.geoserver.web:gs-web-app | >= 2.23.0, < 2.23.6 | 2.23.6 |
| Maven | org.geoserver:gs-wfs | >= 2.23.0, < 2.23.6 | 2.23.6 |
| Maven | org.geoserver:gs-wms | >= 2.23.0, < 2.23.6 | 2.23.6 |
| Maven | org.geoserver.web:gs-web-app | < 2.22.6 | 2.22.6 |
| Maven | org.geoserver:gs-wfs | < 2.22.6 | 2.22.6 |
| Maven | org.geoserver:gs-wms | < 2.22.6 | 2.22.6 |
| Vendor | Product | Affected versions (per CVE record) |
|---|---|---|
| geoserver | geoserver | >= 2.23.0, < 2.23.6, >= 2.24.0, < 2.24.4, >= 2.25.0, < 2.25.2, < 2.22.6 |
Severity scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_M | 3.1 | 9.8 Critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 4.0 | 9.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:A |
- Attack vector: network (remotely reachable)
- Attack complexity: low
- Attack requirements: none
- Privileges required: none (no login)
- User interaction: none
CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.
Exploitation and urgency
- CISA KEV: added 2024-07-15; federal due date 2024-08-05. Known ransomware use: Unknown.
- CISA required action: Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
- CISA SSVC assessment: exploitation active, automatable yes, technical impact total.
- FIRST EPSS (model of 2026-10-21): 99.81% probability of exploitation activity in the next 30 days; percentile 100.0.
Timeline
- — CVE record published by GitHub_M
- — GitHub-reviewed advisory GHSA-6jj6-gm7p-fcvv published (critical)
- — Added to CISA’s Known Exploited Vulnerabilities catalog
- — CISA remediation deadline for US federal agencies
- — CVE record last updated
Sources and references
Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.
Vendor and project advisories, patches
- Listed in CISA KEV notes (github.com) github.com
- Listed in CISA KEV notes (github.com) github.com
Vulnerability records
- GitHub Advisory GHSA-6jj6-gm7p-fcvv github.com
- CVE.org record CVE-2024-36401 cve.org
- NVD entry CVE-2024-36401 nvd.nist.gov
Government
Other references from the CVE record and advisory
- github.com github.com
- github.com github.com
- osgeo-org.atlassian.net osgeo-org.atlassian.net
- vicarius.io vicarius.io
All exploited OSGeo vulnerabilities · Critical Maven advisories · Today’s Security Digest