Miggo Logo

CVE-2024-23642: GeoServer's Simple SVG Renderer vulnerable to Stored Cross-Site Scripting (XSS)

4.8

CVSS Score
3.1

Basic Information

EPSS Score
0.52442%
Published
3/20/2024
Updated
3/20/2024
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.geoserver:gs-wmsmaven< 2.23.42.23.4
org.geoserver:gs-wmsmaven>= 2.24.0, < 2.24.12.24.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from unescaped user-controlled input being written into SVG elements. The commit diff shows the addition of XML escaping for 'groupId' and 'styleName' using escapeXml10, which were previously written raw into <g> element attributes. These parameters come from workspace-level administrator-controlled catalog entries (layer groups and style names). The test case added in SVGMapProducerTest.java specifically verifies proper escaping of special characters in these fields, confirming their role in the vulnerability.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry * stor** *ross-sit* s*riptin* (XSS) vuln*r**ility *xists t**t *n**l*s *n *ut**nti**t** **ministr*tor wit* worksp***-l*v*l privil***s to stor* * J*v*S*ript p*ylo** in t** **oS*rv*r **t*lo* t**t will *x**ut* in t** *ont*xt o* *not**r us*r's

Reasoning

T** vuln*r**ility st*ms *rom un*s**p** us*r-*ontroll** input **in* writt*n into SV* *l*m*nts. T** *ommit *i** s*ows t** ***ition o* XML *s**pin* *or '*roupI*' *n* 'styl*N*m*' usin* `*s**p*Xml**`, w*i** w*r* pr*viously writt*n r*w into <*> *l*m*nt *tt