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.
{
"binaries": [
{
"binary_name": "cgi-mapserver",
"binary_version": "7.0.0-9ubuntu3.1"
},
{
"binary_name": "libmapscript-java",
"binary_version": "7.0.0-9ubuntu3.1"
},
{
"binary_name": "libmapscript-perl",
"binary_version": "7.0.0-9ubuntu3.1"
},
{
"binary_name": "libmapserver2",
"binary_version": "7.0.0-9ubuntu3.1"
},
{
"binary_name": "mapserver-bin",
"binary_version": "7.0.0-9ubuntu3.1"
},
{
"binary_name": "python-mapscript",
"binary_version": "7.0.0-9ubuntu3.1"
},
{
"binary_name": "ruby-mapscript",
"binary_version": "7.0.0-9ubuntu3.1"
}
]
}{
"binaries": [
{
"binary_name": "cgi-mapserver",
"binary_version": "7.0.7-1build2"
},
{
"binary_name": "libmapscript-java",
"binary_version": "7.0.7-1build2"
},
{
"binary_name": "libmapscript-perl",
"binary_version": "7.0.7-1build2"
},
{
"binary_name": "libmapserver2",
"binary_version": "7.0.7-1build2"
},
{
"binary_name": "mapserver-bin",
"binary_version": "7.0.7-1build2"
},
{
"binary_name": "python-mapscript",
"binary_version": "7.0.7-1build2"
},
{
"binary_name": "ruby-mapscript",
"binary_version": "7.0.7-1build2"
}
]
}{
"binaries": [
{
"binary_name": "cgi-mapserver",
"binary_version": "7.4.3-2build1"
},
{
"binary_name": "libmapscript-java",
"binary_version": "7.4.3-2build1"
},
{
"binary_name": "libmapscript-perl",
"binary_version": "7.4.3-2build1"
},
{
"binary_name": "libmapserver2",
"binary_version": "7.4.3-2build1"
},
{
"binary_name": "mapserver-bin",
"binary_version": "7.4.3-2build1"
},
{
"binary_name": "php-mapscript",
"binary_version": "7.4.3-2build1"
},
{
"binary_name": "php-mapscript-ng",
"binary_version": "7.4.3-2build1"
},
{
"binary_name": "python3-mapscript",
"binary_version": "7.4.3-2build1"
}
]
}{
"binaries": [
{
"binary_name": "cgi-mapserver",
"binary_version": "7.6.4-2build2"
},
{
"binary_name": "libmapscript-java",
"binary_version": "7.6.4-2build2"
},
{
"binary_name": "libmapscript-perl",
"binary_version": "7.6.4-2build2"
},
{
"binary_name": "libmapserver2",
"binary_version": "7.6.4-2build2"
},
{
"binary_name": "mapserver-bin",
"binary_version": "7.6.4-2build2"
},
{
"binary_name": "python3-mapscript",
"binary_version": "7.6.4-2build2"
}
]
}{
"binaries": [
{
"binary_name": "cgi-mapserver",
"binary_version": "8.0.1-4ubuntu2"
},
{
"binary_name": "libmapscript-java",
"binary_version": "8.0.1-4ubuntu2"
},
{
"binary_name": "libmapscript-perl",
"binary_version": "8.0.1-4ubuntu2"
},
{
"binary_name": "libmapserver2t64",
"binary_version": "8.0.1-4ubuntu2"
},
{
"binary_name": "mapserver-bin",
"binary_version": "8.0.1-4ubuntu2"
},
{
"binary_name": "php-mapscript-ng",
"binary_version": "8.0.1-4ubuntu2"
},
{
"binary_name": "python3-mapscript",
"binary_version": "8.0.1-4ubuntu2"
}
]
}{
"binaries": [
{
"binary_name": "cgi-mapserver",
"binary_version": "8.6.0-1build1"
},
{
"binary_name": "libmapscript-java",
"binary_version": "8.6.0-1build1"
},
{
"binary_name": "libmapscript-perl",
"binary_version": "8.6.0-1build1"
},
{
"binary_name": "libmapserver2t64",
"binary_version": "8.6.0-1build1"
},
{
"binary_name": "mapserver-bin",
"binary_version": "8.6.0-1build1"
},
{
"binary_name": "php-mapscript-ng",
"binary_version": "8.6.0-1build1"
},
{
"binary_name": "python3-mapscript",
"binary_version": "8.6.0-1build1"
}
]
}