7.5High

CVE-2026-45104MapServer: NULL pointer dereference in SLD `<ElseFilter>` rule parsing reachable via WMS `SLD_BODY`

MapServer MapServer Published: (5 months ago)

Description

MapServer is a system for developing web-based GIS applications. From 6.4.0 to before 8.6.3, msSLDParseUserStyle always calls _SLDApplyRuleValues(psRule, psLayer, 1); for any <Rule> carrying <ElseFilter/> — it assumes msSLDParseRule added one class. When the rule has no symbolizer (a structurally valid SLD), msSLDParseRule adds zero, and _SLDApplyRuleValues ends up indexing _class[-1], resulting in a NULL pointer dereference. A 200-byte well-formed SLD via the WMS SLD_BODY= parameter is enough to trigger this, no auth required. This vulnerability is fixed in 8.6.3.

Weakness (CWE): CWE-129CWE-476

Data: CVE.org, NVD, CISA KEV, FIRST EPSS, Ubuntu. Published as the sources state it, in English.

Affected products and versions

VendorProductVersions
MapServer MapServer >= 6.4.0, < 8.6.3
osgeo mapserver 6.4.0 – < 8.6.3

References and patches

CPE matches (NVD) (1)

  • cpe:2.3:a:osgeo:mapserver:*:*:*:*:*:*:*:* ≥ 6.4.0 < 8.6.3