Miggo Logo

CVE-2024-36401:
Remote Code Execution (RCE) vulnerability in geoserver

9.8

CVSS Score
3.1

Basic Information

EPSS Score
0.99977%
Published
7/1/2024
Updated
3/19/2025
KEV Status
Yes
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.geoserver.web:gs-web-appmaven>= 2.24.0, < 2.24.42.24.4
org.geoserver:gs-wfsmaven>= 2.24.0, < 2.24.42.24.4
org.geoserver:gs-wmsmaven>= 2.24.0, < 2.24.42.24.4
org.geoserver.web:gs-web-appmaven>= 2.25.0, < 2.25.22.25.2
org.geoserver:gs-wfsmaven>= 2.25.0, < 2.25.22.25.2
org.geoserver:gs-wmsmaven>= 2.25.0, < 2.25.22.25.2
org.geoserver.web:gs-web-appmaven>= 2.23.0, < 2.23.62.23.6
org.geoserver:gs-wfsmaven>= 2.23.0, < 2.23.62.23.6
org.geoserver:gs-wmsmaven>= 2.23.0, < 2.23.62.23.6
org.geoserver.web:gs-web-appmaven< 2.22.62.22.6
org.geoserver:gs-wfsmaven< 2.22.62.22.6
org.geoserver:gs-wmsmaven< 2.22.62.22.6

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from GeoTools methods passing user-controlled XPath expressions to Apache Commons JXPath without proper security controls. The advisory explicitly lists these functions as vulnerable entry points that execute via commons-jxpath. The patch (GEOT-7587) introduces JXPathUtils.newSafeContext to disable function execution, confirming these functions previously lacked this protection. The functions are in code paths handling OGC requests (WFS/WMS/WPS), matching the exploit vectors described. High confidence comes from direct references in security advisories, patch diffs showing security improvements to these methods, and CVE analysis confirming RCE through XPath evaluation.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Summ*ry Multipl* O** r*qu*st p*r*m*t*rs *llow R*mot* *o** *x**ution (R**) *y un*ut**nti**t** us*rs t*rou** sp**i*lly *r**t** input ***inst * ****ult **oS*rv*r inst*ll*tion *u* to uns***ly *v*lu*tin* prop*rty n*m*s *s XP*t* *xpr*ssions. ### **t*i

Reasoning

T** vuln*r**ility st*ms *rom **oTools m*t*o*s p*ssin* us*r-*ontroll** XP*t* *xpr*ssions to *p**** *ommons JXP*t* wit*out prop*r s**urity *ontrols. T** **visory *xpli*itly lists t**s* *un*tions *s vuln*r**l* *ntry points t**t *x**ut* vi* `*ommons-jxp*