Patchfirst
CVE-2024-36401 KEVPublic exploit Critical · 9.8 EPSS 99.8%

OSGeo GeoServer GeoTools Eval Injection Vulnerability

OSGeo · GeoServer

Summary

OSGeo GeoServer, the open source geospatial data server, contains an unsafe evaluation flaw in its GeoTools library, where multiple OGC request parameters have property names passed unsafely to the commons-jxpath library as XPath expressions, affecting versions before 2.22.6, 2.23.6, 2.24.4, and 2.25.2. An unauthenticated remote attacker over the network can send specially crafted requests, such as WFS GetFeature, WMS GetMap, or WPS Execute, against a default installation to execute arbitrary code, with no user interaction or special configuration required.

Official description · NVD

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.

Breakdown
69.9 / 100
Exploited
Yes, in CISA KEV
Reports
0
Tactics
2/15

How an attack unfolds

Based on mappings. Select a step to see the evidence.
  1. How attackers get in

  2. What they do

First seen exploited 14 days after disclosure. Public exploit code (Metasploit) was available the same day.

  1. DisclosedPublic exploit codeMetasploitday 0
  2. First seen exploitedVulnCheck KEV evidenceAdded to CISA KEVEU database agrees+14 days

CISA KEV listing is when exploitation was confirmed, not necessarily the first attack.

See the family tree

2 related vulnerabilities in the same code over 1 day. The latest fix listed for gs-wfs is 2.27.1.

Same bug familyLinked by evidence that a fix failed or the same code was patched again. Oldest first.

  1. This CVECVE-2024-36401OSGeo GeoServer GeoTools Eval Injection1 Jul 2024KEV
  2. relatedHigh

    Why these are linked:

    CVE-2024-36404GeoTools Remote Code Execution (RCE) vulnerability in evaluating…2 Jul 2024

Fixes in gs-wfsMaven package, by fixed version. Earlier and later fixes in the same package, not necessarily the same bug.

  1. 2.20.4CVE-2023-3504212 Jun 2023
  2. 2.25.2CVE-2024-364011 Jul 2024KEV
  3. 2.25.2CVE-2024-2919810 Jun 2025
  4. 2.27.1CVE-2025-3022010 Jun 2025Latest listed

techniques

2 , grouped by in kill-chain order, 2 cited passages 2

Initial AccessTA0001

Exploit Public-Facing Application T1190 Medium
AI mapping from the description · how it is exploited

Unauthenticated exploitation via crafted OGC requests against public service

allow Remote Code Execution (RCE) by unauthenticated users through specially crafted input
From the official description (NVD) Original (opens in a new tab) ↗

ExecutionTA0002

Command and Scripting Interpreter T1059 Medium
AI mapping from the description · primary impact

Arbitrary code execution on the server

can execute arbitrary code when evaluating XPath expressions
From the official description (NVD) Original (opens in a new tab) ↗

Detection

0 rules for this CVE · 244 general rules for its techniques

Rules for this CVE

0 that reference CVE-2024-36401 directly.

CVE-specific rules are not available in this build. Search SigmaHQ ↗

Sigma rules © SigmaHQ, Detection Rule License 1.1; linked, not reproduced.

Am I affected? What do I upgrade to?

From GitHub Security Advisories and OSV

3 packages in 1 ecosystem. No single main package: each of these ships the affected code.

  • Mavenorg.geoserver.web:gs-web-app
    Affected: 2.25.0 up to 2.25.2; 2.24.0 up to 2.24.4; 2.23.0 up to 2.23.6; All versions before 2.22.6Upgrade to 2.25.7 or later (older lines: 2.24.4, 2.23.6, 2.22.6)
  • Mavenorg.geoserver:gs-wfs
    Affected: 2.25.0 up to 2.25.2; 2.24.0 up to 2.24.4; 2.23.0 up to 2.23.6; All versions before 2.22.6Upgrade to 2.25.7 or later (older lines: 2.24.4, 2.23.6, 2.22.6)
  • Mavenorg.geoserver:gs-wms
    Affected: 2.25.0 up to 2.25.2; 2.24.0 up to 2.24.4; 2.23.0 up to 2.23.6; All versions before 2.22.6Upgrade to 2.25.6 or later (older lines: 2.24.4, 2.23.6, 2.22.6)

Check your lockfile against all CVEs

What security researchers reported

Not named in any threat report yet

Also mentioned in 50 community threat pulses (AlienVault OTX)

Weaker evidence

Pulses are indicator collections that anyone can publish. A mention is not confirmation of exploitation.

References

7 links, grouped by NVD tag (5 duplicates merged)
↑ ↓ chooseEnter openEsc close