Miggo Logo

CVE-2023-26043:
GeoServer style upload functionality vulnerable to XML External Entity (XXE) injection

6.5

CVSS Score

Basic Information

EPSS Score
-
Published
8/30/2024
Updated
11/18/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
GeoNodepip>= 0, < 4.0.34.0.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from insecure XML parsing using etree.XML() with default settings (resolve_entities=True). The primary exploit path involves dataset_style_upload handling user-uploaded files and passing them to extract_name_from_sld, which parses XML without entity restrictions. The commit patches these functions by explicitly disabling entity resolution. set_dataset_style and get_capabilities were also patched in the same commit, indicating they contained similar vulnerable XML parsing patterns. The high confidence for the first three functions comes from their direct role in the PoC exploit, while get_capabilities is marked medium as it represents a secondary attack surface.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry **oNo** is vuln*r**l* to *n XML *xt*rn*l *ntity (XX*) inj**tion in t** styl* uplo** *un*tion*lity o* **oS*rv*r l***in* to *r*itr*ry *il* R***. ### **t*ils **oNo**'s **oS*rv*r **s t** **ility to uplo** n*w styl*s *or **t*s*ts t*rou** t**

Reasoning

T** vuln*r**ility st*ms *rom ins**ur* XML p*rsin* usin* `*tr**.XML()` wit* ****ult s*ttin*s (r*solv*_*ntiti*s=Tru*). T** prim*ry *xploit p*t* involv*s `**t*s*t_styl*_uplo**` **n*lin* us*r-uplo**** *il*s *n* p*ssin* t**m to `*xtr**t_n*m*_*rom_sl*`, w*