CVE-2026-54355
MapServer: Reflected XSS in OpenLayers HTML Output via `HTTP_X_FORWARDED_HOST`
MapServer is a system for developing web-based GIS applications. From 6.0 until 8.6.4, MapServer's OpenLayers HTML output for SERVICE=WMS&REQUEST=GetMap&FORMAT=application/openlayers reflects an attacker-controlled X-Forwarded-Host value received as HTTP_X_FORWARDED_HOST through msBuildOnlineResource(), processLine(), and the [mapserv_onlineresource] substitution in src/maputil.c and src/maptemplate.c without escaping it for a single-quoted JavaScript string. When the deployment trusts the forwarded header and does not configure a fixed ows_onlineresource or MS_ONLINERESOURCE value, embedded single quotes can escape the generated URL string. An unauthenticated attacker can craft a URL that executes arbitrary JavaScript in the MapServer site origin when opened by a victim, enabling access to sessions or tokens, same-origin data and requests, and actions as the victim. This issue is fixed in version 8.6.4.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Passive
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.3
MapServer: Reflected XSS in OpenLayers HTML Output via `HTTP_X_FORWARDED_HOST`
MapServer is a system for developing web-based GIS applications. From 6.0 until 8.6.4, MapServer's OpenLayers HTML output for SERVICE=WMS&REQUEST=GetMap&FORMAT=application/openlayers reflects an attacker-controlled X-Forwarded-Host value received as HTTP_X_FORWARDED_HOST through msBuildOnlineResource(), processLine(), and the [mapserv_onlineresource] substitution in src/maputil.c and src/maptemplate.c without escaping it for a single-quoted JavaScript string. When the deployment trusts the forwarded header and does not configure a fixed ows_onlineresource or MS_ONLINERESOURCE value, embedded single quotes can escape the generated URL string. An unauthenticated attacker can craft a URL that executes arbitrary JavaScript in the MapServer site origin when opened by a victim, enabling access to sessions or tokens, same-origin data and requests, and actions as the victim. This issue is fixed in version 8.6.4.
- Record
CVE-2026-54355- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2026-82433
5.3
MapServer is a system for developing web-based GIS applications. From 6.0 until 8.6.4, MapServer's OpenLayers HTML output for SERVICE=WMS&REQUEST=GetMap&FORMAT=application/openlayers reflects an attacker-controlled X-Forwarded-Host value received as HTTP_X_FORWARDED_HOST through msBuildOnlineResource(), processLine(), and the [mapserv_onlineresource] substitution in src/maputil.c and src/maptemplate.c without escaping it for a single-quoted JavaScript string. When the deployment trusts the forwarded header and does not configure a fixed ows_onlineresource or MS_ONLINERESOURCE value, embedded single quotes can escape the generated URL string. An unauthenticated attacker can craft a URL that executes arbitrary JavaScript in the MapServer site origin when opened by a victim, enabling access to sessions or tokens, same-origin data and requests, and actions as the victim. This issue is fixed in version 8.6.4.
- Record
EUVD-2026-82433- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N - Updated
- 2026-11-02
NVD
5.3
MapServer is a system for developing web-based GIS applications. From 6.0 until 8.6.4, MapServer's OpenLayers HTML output for SERVICE=WMS&REQUEST=GetMap&FORMAT=application/openlayers reflects an attacker-controlled X-Forwarded-Host value received as HTTP_X_FORWARDED_HOST through msBuildOnlineResource(), processLine(), and the [mapserv_onlineresource] substitution in src/maputil.c and src/maptemplate.c without escaping it for a single-quoted JavaScript string. When the deployment trusts the forwarded header and does not configure a fixed ows_onlineresource or MS_ONLINERESOURCE value, embedded single quotes can escape the generated URL string. An unauthenticated attacker can craft a URL that executes arbitrary JavaScript in the MapServer site origin when opened by a victim, enabling access to sessions or tokens, same-origin data and requests, and actions as the victim. This issue is fixed in version 8.6.4.
- Record
CVE-2026-54355- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
5.3
MapServer: Reflected XSS in OpenLayers HTML Output via `HTTP_X_FORWARDED_HOST`
MapServer is a system for developing web-based GIS applications. From 6.0 until 8.6.4, MapServer's OpenLayers HTML output for SERVICE=WMS&REQUEST=GetMap&FORMAT=application/openlayers reflects an attacker-controlled X-Forwarded-Host value received as HTTP_X_FORWARDED_HOST through msBuildOnlineResource(), processLine(), and the [mapserv_onlineresource] substitution in src/maputil.c and src/maptemplate.c without escaping it for a single-quoted JavaScript string. When the deployment trusts the forwarded header and does not configure a fixed ows_onlineresource or MS_ONLINERESOURCE value, embedded single quotes can escape the generated URL string. An unauthenticated attacker can craft a URL that executes arbitrary JavaScript in the MapServer site origin when opened by a victim, enabling access to sessions or tokens, same-origin data and requests, and actions as the victim. This issue is fixed in version 8.6.4.
- Record
CVE-2026-54355- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-54355
5.3
MapServer is a system for developing web-based GIS applications. From 6.0 until 8.6.4, MapServer's OpenLayers HTML output for SERVICE=WMS&REQUEST=GetMap&FORMAT=application/openlayers reflects an attacker-controlled X-Forwarded-Host value received as HTTP_X_FORWARDED_HOST through msBuildOnlineResource(), processLine(), and the [mapserv_onlineresource] substitution in src/maputil.c and src/maptemplate.c without escaping it for a single-quoted JavaScript string. When the deployment trusts the forwarded header and does not configure a fixed ows_onlineresource or MS_ONLINERESOURCE value, embedded single quotes can escape the generated URL string. An unauthenticated attacker can craft a URL that executes arbitrary JavaScript in the MapServer site origin when opened by a victim, enabling access to sessions or tokens, same-origin data and requests, and actions as the victim. This issue is fixed in version 8.6.4.
- Record
DEBIAN-CVE-2026-54355- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-54355
5.3
MapServer is a system for developing web-based GIS applications. From 6.0 until 8.6.4, MapServer's OpenLayers HTML output for SERVICE=WMS&REQUEST=GetMap&FORMAT=application/openlayers reflects an attacker-controlled X-Forwarded-Host value received as HTTP_X_FORWARDED_HOST through msBuildOnlineResource(), processLine(), and the [mapserv_onlineresource] substitution in src/maputil.c and src/maptemplate.c without escaping it for a single-quoted JavaScript string. When the deployment trusts the forwarded header and does not configure a fixed ows_onlineresource or MS_ONLINERESOURCE value, embedded single quotes can escape the generated URL string. An unauthenticated attacker can craft a URL that executes arbitrary JavaScript in the MapServer site origin when opened by a victim, enabling access to sessions or tokens, same-origin data and requests, and actions as the victim. This issue is fixed in version 8.6.4.
- Record
UBUNTU-CVE-2026-54355- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
mapserverDebian: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 less8.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 |
mapserverDebian: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 less8.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 |
mapserverDebian:14 |
before 8.6.4-1, plus listed versions 8.4.0-48.4.1-18.4.1-1~bpo13+18.4.1-28.6.0-1 Show 11 moreShow less8.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-1~bpo13+1 |
8.6.4-1 |
mapserverUbuntu: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 less7.0.0-97.0.0-9ubuntu17.0.0-9ubuntu27.0.0-9ubuntu37.0.0-9ubuntu3.1 |
None known |
mapserverUbuntu:18.04:LTS |
All versions, plus listed versions 7.0.6-2build17.0.7-17.0.7-1build17.0.7-1build2 |
None known |
mapserverUbuntu: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 |
mapserverUbuntu:22.04:LTS |
All versions, plus listed versions 7.6.3-1~exp1ubuntu17.6.4-27.6.4-2build2 |
None known |
mapserverUbuntu: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 |
mapserverUbuntu: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
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-54355 is a medium vulnerability (CVSS 5.3) in Mapserver, published September 17, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.50%, the 43rd percentile. Fixed in mapserver 8.6.4-1.
References
github.com/MapServer/MapServer/security/advisories/GHSA-xqj6-vjqr-33vv
github.com/MapServer/MapServer/pull/7517
github.com/MapServer/MapServer/pull/7518
github.com/MapServer/MapServer/commit/edc1033c7963fcffd160d85cf430f49aaf4a1374
github.com/MapServer/MapServer/commit/ff17ef190caaeaa9002ac3d1c7969ec5315c345e
github.com/MapServer/MapServer/releases/tag/rel-8-6-4
Show 6 moreShow less
Left out here: 3 versions. The JSON record has them.