Every CVE Search/ Get API key

CVE-2026-54354

MapServer: PostGIS Numeric Filter Value SQL Injection in MapServer Runtime Query Translation

8.2 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
Low

Exploit likelihood

0.68%Up 0.3 points since Sep 18, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.2

MapServer: PostGIS Numeric Filter Value SQL Injection in MapServer Runtime Query Translation

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.

Record
CVE-2026-54354
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
Weakness
CWE-89
Updated
2026-11-02
EUVDEUVD-2026-82431 8.2

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.

Record
EUVD-2026-82431
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
Updated
2026-11-02
NVD 8.2

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.

Record
CVE-2026-54354
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
Weakness
CWE-89
Updated
2026-11-02
OSV 8.2

MapServer: PostGIS Numeric Filter Value SQL Injection in MapServer Runtime Query Translation

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.

Record
CVE-2026-54354
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
Weakness
CWE-89
Updated
2026-11-02
OSVDEBIAN-CVE-2026-54354 8.2

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.

Record
DEBIAN-CVE-2026-54354
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2026-54354 8.2

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.

Record
UBUNTU-CVE-2026-54354
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
mapserver
Debian: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 less
8.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
mapserver
Debian: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 less
8.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
mapserver
Debian: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 less
8.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
mapserver
Ubuntu: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 less
7.0.0-97.0.0-9ubuntu17.0.0-9ubuntu27.0.0-9ubuntu37.0.0-9ubuntu3.1
None known
mapserver
Ubuntu:18.04:LTS
All versions, plus listed versions
7.0.6-2build17.0.7-17.0.7-1build17.0.7-1build2
None known
mapserver
Ubuntu: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
mapserver
Ubuntu:22.04:LTS
All versions, plus listed versions
7.6.3-1~exp1ubuntu17.6.4-27.6.4-2build2
None known
mapserver
Ubuntu: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
mapserver
Ubuntu: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

History
RecordedChangedSources
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-54354 is a high vulnerability (CVSS 8.2) 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.68%, the 52nd percentile. Fixed in mapserver 8.6.4-1.

References

Show 5 moreShow less
This page doesn't list everything

Left out here: 3 versions. The JSON record has them.

MoveEnter Open