MapServer: PostGIS Numeric Filter Value SQL Injection in MapServer Runtime Query Translation
cve-program · CVE-2026-54354
PublishedMapServer is a system for developing web-based GIS applications. Prior to 8.6.4, MapServer's PostGIS runtime filter translation in src/mappostgis.cpp and msPostGISLayerTranslateFilter() treats a filteritem as numeric when CONNECTIONTYPE POSTGIS and metadata such as gml_<item>_type=Integer are configured, but it does not verify that attacker-controlled CGI qstring or OGC API Features featureId input is a numeric literal. The unquoted input is concatenated into the generated PostgreSQL/PostGIS predicate, allowing an unauthenticated remote attacker with access to an affected query endpoint to bypass predicates, enumerate unintended records, perform boolean-based or time-based SQL injection, and increase database load. The issue does not by itself establish database modification capabilities. This issue is fixed in version 8.6.4.
Read the publisher's advisoryAffected versions, risk and source history
Related advisories and sources
Publishers link these advisories through the identifiers shown below. A shared identifier or date alone does not tell you whether your software is affected or whether the advisories describe the same cause.
CVE-2026-54354 · CVE overview and exploitation status
cve-program · CVE-2026-54354
- https://github.com/MapServer/MapServer/security/advisories/GHSA-xp29-8wp5-wc3p
- https://github.com/MapServer/MapServer/pull/7516
- https://github.com/MapServer/MapServer/commit/65f1b53c258df2abdf6ce1f437c29e75e9976247
- https://github.com/MapServer/MapServer/commit/bd59d49779d2ecc64ca8dc1281c53231a50b698e
- https://github.com/MapServer/MapServer/releases/tag/rel-8-6-4
- https://mapserver.org/development/changelog/changelog-8-6.html#changelog-8-6
Related changes
Linked by CVE identifierNo related changes are available here.