WaratekVRT Sign in

CVE-2024-36401

Affected software2 products, listed below
Severity9.8 Critical CVSS 3.1 2 scores
Fixed in2.24.4, 2.25.2, 2.23.6, 2.22.6
WeaknessCode injection (CWE-94)
Published1 Jul 2024
Updated29 Sep 2026

Description

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.

CWE-95

Exploitation status

Exploited

Confirmed real-world exploitation.

  • CISA KEV listed Confirmed exploitation in the wild. Added 2024-07-15 · remediation due 2024-08-05 · ransomware use: unknown
  • VulnCheck KEV listed Exploitation reported in the wild. 29 citations · honeypot sightings · 28 exploits · earliest 2024-07-03.
  • CISA Vulnrichment exploitation: active CISA records active exploitation. Automatable: yes, technical impact: total.
  • Indexed PoC 19 indexed Published artifacts you can open, in GitHub PoC, Metasploit, Nuclei; first seen 2024-07-04.
  • EPSS 99.8% chance in 30 days A model's forecast, not a report of exploitation. Higher than 99.9% of all scored CVEs.

VulnCheck KEV

Exploitation evidence from VulnCheck Known Exploited Vulnerabilities (VulnCheck KEV), used under VulnCheck's community terms. View CVE-2024-36401 in VulnCheck (free account), which lists 24 more citations and 23 more exploit references not shown here.

EvidenceSourceDetailDate
Honeypot sighting SANS DShield sensors Exploitation attempts seen on 1 day 2024-07-03
Honeypot sighting Shadowserver honeypots Exploitation attempts seen on 772 days 2024-07-28 to 2026-11-12
Honeypot sighting VulnCheck canaries Exploitation attempts seen on 196 days 2025-12-02 to 2026-11-13
Reported exploitation cisa.gov /sites/default/files/feeds/known_exploited_vulnerabilities.json 2024-07-15
Reported exploitation blog.sonicwall.com /en-us/2024/07/geoserver-rce-vulnerability-cve-2024-36401-being-exploited-in-the-wild 2024-07-29
Reported exploitation isc.sans.edu /diary/A%20Survey%20of%20Scans%20for%20GeoServer%20Vulnerabilities/31148 2024-08-06
Reported exploitation fortinet.com /blog/threat-research/threat-actors-exploit-geoserver-vulnerability-cve-2024-36401 2024-09-05
Reported exploitation trendmicro.com /en_us/research/24/i/earth-baxia-spear-phishing-and-geoserver-exploit.html 2024-09-19
Exploit reference VulnCheck XDB e908c49bab48 Exploit type: initial-access 2024-07-04
Exploit reference VulnCheck XDB 07cf7a5d5e1b Exploit type: initial-access 2024-07-05
Exploit reference VulnCheck XDB 0a69e625f39a Exploit type: initial-access 2024-07-05
Exploit reference VulnCheck XDB 46abf92ec267 Exploit type: initial-access 2024-07-06
Exploit reference VulnCheck XDB 83b62ab68571 Exploit type: initial-access 2024-07-12

2 of these are GitHub repositories with fewer than 5 stars. They are listed for reference and don't count toward the exploitation status above.

IndexArtifactStarsFirst seen
GitHub PoC GeoServer(CVE-2024-36401/CVE-2024-36404)漏洞利用工具 123 2025-01-07
Nuclei GeoServer RCE in Evaluating Property Name Expressions
Metasploit Geoserver unauthenticated Remote Code Execution (excellent rank)
GitHub PoC GeoServer Remote Code Execution 89 2024-07-30
GitHub PoC Remote Code Execution (RCE) Vulnerability In Evaluating Property Name Expressions with multies ways to exploit 56 2024-07-06
GitHub PoC geoserver CVE-2024-36401漏洞利用工具 45 2024-07-17
GitHub PoC CVE-2024-36401 图形化利用工具,支持各个JDK版本利用以及回显、内存马实现 44 2025-04-11
GitHub PoC POC for CVE-2024-36401. This POC will attempt to establish a reverse shell from the vlun targets. 35 2024-07-04
GitHub PoC Mass scanner for CVE-2024-36401 4 2024-08-27
GitHub PoC POC 4 2024-07-05

Waratek protection

Protected by Waratek

Waratek has a rule that blocks the main way to exploit this vulnerability, but a public exploit or tool gets past it.

Decided by A researcher's recorded decision for this specific CVE
Finding A researcher found this CVE partially protected by the ARMR Process rule: a public exploit or tool reaches the rated impact without tripping it.

Waratek research note

written 2026-11-13

Written by a Waratek engineer who reviewed this CVE. Their decision sets the status above, ahead of every automated rule except a withdrawal.

Comments

Rule Name: ARMR Process rule

JXPath expression injection via OGC feature property names; the Process rule (with /bin/* and /usr/* listed) blocks the exec(Runtime.getRuntime(),cmd) fork the mainstream exploits use. An exploit variant that loads a hidden webshell into GeoServer without starting a program is not stopped.

How to mitigate CVE-2024-36401

Upgrade the affected software to a release that fixes it: 2.24.4, 2.25.2, 2.23.6 or 2.22.6. Until you can, Waratek RASP blocks the main way to exploit it with its process rule, but a public exploit or tool gets past it. The research note above says which.

Waratek RASP Runtime protection for Java applications

CVSS

9.8 CRITICAL v3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 2 metrics

We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.

VersionScoreBandVectorAssignerType
CVSS 3.1 9.8 CRITICAL CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H security-advisories@github.com Secondary published
CVSS 3.1 9.8 CRITICAL CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H NVD Primary

Affected software and releases

Maven packages

Affected and fixed versions, from OSV.dev
PackageIntroducedFixedLast affected
org.geoserver.web:gs-web-app 2.24.0 2.24.4 unbounded
org.geoserver:gs-wfs 2.24.0 2.24.4 unbounded
org.geoserver:gs-wms 2.24.0 2.24.4 unbounded
org.geoserver.web:gs-web-app 2.25.0 2.25.2 unbounded
org.geoserver:gs-wfs 2.25.0 2.25.2 unbounded
org.geoserver:gs-wms 2.25.0 2.25.2 unbounded
org.geoserver.web:gs-web-app 2.23.0 2.23.6 unbounded
org.geoserver:gs-wfs 2.23.0 2.23.6 unbounded
org.geoserver:gs-wms 2.23.0 2.23.6 unbounded
org.geoserver.web:gs-web-app 0 2.22.6 unbounded
org.geoserver:gs-wfs 0 2.22.6 unbounded
org.geoserver:gs-wms 0 2.22.6 unbounded

Products and versions

5 products, 23 version entries
SourceVendorProductSchemeAffected versions
nvd geoserver geoserver generic < 2.22.6 · ≥ 2.23.0 and < 2.23.6 · ≥ 2.24.0 and < 2.24.4 · ≥ 2.25.0 and < 2.25.2
nvd geotools geotools generic < 29.6 · 30.0 · 30.0:rc · ≥ 30.1 and < 30.4 · 31.0 · 31.0:rc · ≥ 31.1 and < 31.2
osv org.geoserver gs-wfs generic < 2.22.6 · ≥ 2.23.0 and < 2.23.6 · ≥ 2.24.0 and < 2.24.4 · ≥ 2.25.0 and < 2.25.2
osv org.geoserver gs-wms generic < 2.22.6 · ≥ 2.23.0 and < 2.23.6 · ≥ 2.24.0 and < 2.24.4 · ≥ 2.25.0 and < 2.25.2
osv org.geoserver.web gs-web-app generic < 2.22.6 · ≥ 2.23.0 and < 2.23.6 · ≥ 2.24.0 and < 2.24.4 · ≥ 2.25.0 and < 2.25.2

References

URLTags
https://github.com/geoserver/geoserver/security/advisories/GHSA-6jj6-gm7p-fcvv WEB
https://github.com/geotools/geotools/security/advisories/GHSA-w3pj-wh35-fq8w WEB
https://github.com/geotools/geotools/pull/4797 WEB
https://github.com/Warxim/CVE-2022-41852?tab=readme-ov-file#workaround-for-cve-2022-41852 WEB
https://github.com/geoserver/geoserver PACKAGE
https://osgeo-org.atlassian.net/browse/GEOT-7587 WEB
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2024-36401 WEB
https://www.vicarius.io/vsociety/posts/geoserver-rce-cve-2024-36401 WEB
https://github.com/geoserver/geoserver/security/advisories/GHSA-6jj6-gm7p-fcvv, https://github.com/geotools/geotools/pull/4797

Timeline

Published2024-07-01By the CVE Program.
VulnCheck KEV: earliest evidence2024-07-03Date of the oldest evidence of exploitation in VulnCheck KEV's record. VulnCheck does not publish the date it listed the CVE.
Added to CISA KEV2024-07-15Listed in CISA's Known Exploited Vulnerabilities catalog.
NVD record modified2026-06-17NVD's own last-modified date for this record.
Last VRT activity2026-09-29Most recent commit touching this CVE's classification, patch or rule file.
VulnCheck KEV: latest evidence2026-11-13Date of the newest report, exploit reference or honeypot sighting in VulnCheck KEV's record.
Classification created2026-11-13First commit adding this CVE's research note.