CVE-2023-25157
GeoServer OGC Filter SQL Injection Vulnerabilities
Description
### 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 * [OGC Filter SQL Injection Vulnerabilities](https://github.com/geotools/geotools/security/advisories/GHSA-99c3-qc2q-p94m) (GeoTools) * [OGC Filter Injection Vulnerability Statement](https://geoserver.org/vulnerability/2023/02/20/ogc-filter-injection.html) (GeoServer Blog)
How to fix CVE-2023-25157
To remediate CVE-2023-25157, upgrade the affected package to a fixed version below.
- —upgrade to 2.21.4 or later
Is CVE-2023-25157 being exploited?
Likely — EPSS is 85.2%, placing CVE-2023-25157 in the top tier of vulnerabilities by exploitation probability. Prioritise patching.