Description
MapServer 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.
Published: 2026-09-17
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: SQL Injection – Unauthenticated Remote
Action: Patch
AI Analysis

Impact

MapServer uses the PostGIS runtime filter translation function msPostGISLayerTranslateFilter() to convert filter items into PostgreSQL predicates. When the database connection type is POSTGIS and metadata such as gml_<item>_type=Integer is declared, the function treats the item as numeric but does not verify that the attacker‑controlled CGI qstring or OGC API Features featureId supplied to the query is a numeric literal. As a result, an attacker can embed arbitrary SQL fragments into the unquoted value. This allows bypass of query predicates, enumeration of unintended records, and execution of boolean‑based or time‑based SQL injection attacks that increase database load. The vulnerability does not grant a direct path to modify the database, but it can be used to extract sensitive data until a patch is applied.

Affected Systems

All installations of MapServer older than version 8.6.4 are affected. Prior releases such as 8.6.0 through 8.6.3 contain the unvalidated numeric filter logic and are susceptible to the described SQL injection. The patch is included in the 8.6.4 release and subsequent versions.

Risk and Exploitability

The CVSS score of 8.2 indicates high severity, while the EPSS score of less than 1% shows this vulnerability is thought to have low current exploitation probability. It is not listed in the CISA KEV catalog. The attack can occur remotely via any exposed query endpoint and does not require authentication, so a public or internal attacker could abuse it if they can reach the affected MapServer service.

Generated by OpenCVE AI on September 18, 2026 at 23:44 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade MapServer to version 8.6.4 or later to apply the official fix.
  • If upgrade is delayed, restrict unauthenticated access to the query endpoints using firewall rules or network segmentation.
  • Implement input validation for numeric query parameters, ensuring they match a strict numeric literal pattern before they are passed to PostGIS.

Generated by OpenCVE AI on September 18, 2026 at 23:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 20 Sep 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 18 Sep 2026 12:30:00 +0000

Type Values Removed Values Added
First Time appeared Mapserver
Mapserver mapserver
Vendors & Products Mapserver
Mapserver mapserver

Thu, 17 Sep 2026 20:45:00 +0000

Type Values Removed Values Added
Description MapServer 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.
Title MapServer: PostGIS Numeric Filter Value SQL Injection in MapServer Runtime Query Translation
Weaknesses CWE-89
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L'}


Subscriptions

Mapserver Mapserver
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-18T14:43:41.551Z

Reserved: 2026-06-12T19:23:22.318Z

Link: CVE-2026-54354

cve-icon Vulnrichment

Updated: 2026-09-18T14:39:53.930Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-17T21:17:15.260

Modified: 2026-09-24T21:19:05.340

Link: CVE-2026-54354

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-18T23:45:15Z

Weaknesses
  • CWE-89

    Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')