Every CVE Search/ Get API key

CVE-2026-45104

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

7.5 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.32%Up 0.3 points since May 28, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

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

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.

Record
CVE-2026-45104
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-129, CWE-476
Updated
2026-11-02
EUVDEUVD-2026-32631 7.5

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.

Record
EUVD-2026-32631
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
NVD 7.5

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.

Record
CVE-2026-45104
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-129, CWE-476
Updated
2026-11-02
OSV 7.5

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

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.

Record
CVE-2026-45104
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-129, CWE-476
Updated
2026-11-02
OSVDEBIAN-CVE-2026-45104 7.5

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.

Record
DEBIAN-CVE-2026-45104
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-45104 7.5

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.

Record
UBUNTU-CVE-2026-45104
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVopenSUSE-SU-2026:20857-1 No score

Security update for mapserver

This update for mapserver fixes the following issues:

Changes in mapserver:

  • Update to releasee 8.6.3
    • SLD parser: fix out of bounds access on SLD with only a Rule with a ElseFilter but without a symbolizer [CVE-2026-33721, boo#1260869] [CVE-2026-45104, boo#1266663]
Record
openSUSE-SU-2026:20857-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
mapserver
Debian:12
All versions, plus listed versions
8.0.0-38.0.0-3+deb12u18.0.1-18.0.1-1~exp18.0.1-2
Show 45 moreShow less
8.0.1-2.1~exp18.0.1-2~bpo12+18.0.1-38.0.1-3~exp18.0.1-48.0.1-58.0.2-18.0.2-1~bpo12+18.2.0-18.2.0-1~bpo12+18.2.0~beta1-1~exp18.2.0~beta2-1~exp18.2.0~beta3-1~exp18.2.0~rc1-1~exp18.2.0~rc2-1~exp18.2.0~rc3-1~exp18.2.1-18.2.1-1~bpo12+18.2.2-18.2.2-1~bpo12+18.4.0-18.4.0-1~bpo12+18.4.0-28.4.0-38.4.0-48.4.0~beta1-1~exp18.4.0~beta2-1~exp18.4.0~rc1-1~exp18.4.1-18.4.1-1~bpo13+18.4.1-28.6.0-18.6.0-1~bpo13+18.6.0~beta1-1~exp18.6.0~beta2-1~exp18.6.0~rc1-1~exp18.6.1-18.6.1-1~bpo13+18.6.2-18.6.2-1~bpo13+18.6.3-18.6.3-1~bpo13+18.6.4-18.6.4-1~bpo13+18.6.5-1
None known
mapserver
Debian:13
All versions, plus listed versions
8.4.0-48.4.0-4+deb13u18.4.0-4+deb13u28.4.1-18.4.1-1~bpo13+1
Show 18 moreShow less
8.4.1-28.6.0-18.6.0-1~bpo13+18.6.0~beta1-1~exp18.6.0~beta2-1~exp18.6.0~rc1-1~exp18.6.1-18.6.1-1~bpo13+18.6.2-18.6.2-1~bpo13+18.6.3-18.6.3-1~bpo13+18.6.4-18.6.4-1~bpo13+18.6.5-18.6.5-1~bpo13+18.6.6-18.6.6-1~bpo13+1
None known
mapserver
Debian:14
before 8.6.3-1, plus listed versions
8.4.0-48.4.1-18.4.1-1~bpo13+18.4.1-28.6.0-1
Show 9 moreShow less
8.6.0-1~bpo13+18.6.0~beta1-1~exp18.6.0~beta2-1~exp18.6.0~rc1-1~exp18.6.1-18.6.1-1~bpo13+18.6.2-18.6.2-1~bpo13+18.6.3-1~bpo13+1
8.6.3-1
mapserver
Ubuntu:16.04:LTS
All versions, plus listed versions
7.0.0-4build17.0.0-5ubuntu17.0.0-77.0.0-87.0.0-8build1
Show 5 moreShow less
7.0.0-97.0.0-9ubuntu17.0.0-9ubuntu27.0.0-9ubuntu37.0.0-9ubuntu3.1
None known
mapserver
Ubuntu:18.04:LTS
All versions, plus listed versions
7.0.6-2build17.0.7-17.0.7-1build17.0.7-1build2
None known
mapserver
Ubuntu:20.04:LTS
All versions, plus listed versions
7.4.1-1build17.4.1-1build37.4.2-17.4.2-1build17.4.3-17.4.3-1build27.4.3-27.4.3-2build1
None known
mapserver
Ubuntu:22.04:LTS
All versions, plus listed versions
7.6.3-1~exp1ubuntu17.6.4-27.6.4-2build2
None known
mapserver
Ubuntu:24.04:LTS
All versions, plus listed versions
8.0.1-2build18.0.1-2build28.0.1-2build38.0.1-2build58.0.1-4ubuntu18.0.1-4ubuntu2
None known
mapserver
Ubuntu:25.10
All versions, plus listed versions
8.4.0-1build18.4.0-48.4.0-4build1
None known
mapserver
Ubuntu:26.10
All versions, plus listed versions
8.6.0-1build18.6.4-18.6.5-18.6.5-1build1
None known
mapserver
Ubuntu:26.04:LTS
All versions, plus listed versions
8.4.0-4build18.4.1-18.4.1-1build18.4.1-28.4.1-2build18.6.0-18.6.0-1build1
None known

History

History
RecordedChangedSources
facts
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-45104 is a high vulnerability (CVSS 7.5) in Mapserver, published May 27, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.32%, the 25th percentile. Fixed in mapserver 8.6.3-1.

References

Show 4 moreShow less
This page doesn't list everything

Left out here: 3 versions. The JSON record has them.

MoveEnter Open