Lucene search

K
githubGitHub Advisory DatabaseGHSA-7G5F-WRX8-5CCF
HistoryFeb 22, 2023 - 7:15 p.m.

GeoServer OGC Filter SQL Injection Vulnerabilities

2023-02-2219:15:56
CWE-89
GitHub Advisory Database
github.com
19
geoserver
ogc filter
sql injection
web feature service
web map service
web coverage service
postgis datastore
oracle datastore
vulnerabilities
patches
workarounds
geotools
advisory
geoserver blog

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

0.58 Medium

EPSS

Percentile

97.7%

Impact

GeoServer includes support for the OGC Filter expression language and the OGC Common Query Language (CQL) as part of the Web Feature Service (WFS) and Web Map Service (WMS) protocols. CQL is also supported through the Web Coverage Service (WCS) protocol for ImageMosaic coverages.

SQL Injection Vulnerabilities have been found with:

  • PropertyIsLike filter, when used with a String field and any database DataStore, or with a PostGIS DataStore with encode functions enabled
  • strEndsWith function, when used with a PostGIS DataStore with encode functions enabled
  • strStartsWith function, when used with a PostGIS DataStore with encode functions enabled
  • FeatureId filter, when used with any database table having a String primary key column and when prepared statements are disabled
  • jsonArrayContains function, when used with a String or JSON field and with a PostGIS or Oracle DataStore (GeoServer 2.22.0+ only)
  • DWithin filter, when used with an Oracle DataStore

Patches

  • GeoSever 2.21.4
  • GeoServer 2.22.2
  • GeoServer 2.20.7
  • GeoServer 2.19.7
  • GeoServer 2.18.7

Workarounds

  1. Disabling the PostGIS Datastore encode functions setting to mitigate strEndsWith, strStartsWith vulnerabilities (Like filters have no mitigation, if there is a string field in the feature type published).
  2. Enabling the PostGIS DataStore preparedStatements setting to mitigate the FeatureId vulnerability.

References

Affected configurations

Vulners
Node
org.geoserver.community\gsMatchjdbcconfig
OR
org.geoserver.community\gsMatchjdbcconfig

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

0.58 Medium

EPSS

Percentile

97.7%