GHSA-mqjf-5f49-2fjh: SQL Injection

Published Aug 21, 2026
·
Updated

Summary

An SQL Injection Vulnerability has been found when executing OGC Filters with PostGIS DataStore implementation:

jsonArrayContains function Requires PostGIS 12 or greater with a String or JSON field

For PostGIS 12 and greater jsonArrayContains(<column>, <pointer>, <value>) function writes <value> into generated SQL without escaping.

Patches

GeoTools 35.1 GeoTools 33.5 GeoTools 34.4

Mitigation

No mitigation is available:

To limit scope of SQL Injection the PostGIS connection pool should be configured with limited rights.

Impact

This vulnerability can lead to execution of arbitrary SQL expressions in the database.

References

https://osgeo-org.atlassian.net/browse/GEOT-7958 https://osgeo-org.atlassian.net/browse/GEOT-7959 https://github.com/geotools/geotools/pull/5829 https://osgeo-org.atlassian.net/browse/GEOT-7589

Affected Software

3 affected componentsFixes available
maven/org.geotools.jdbc:gt-jdbc-postgis>=30.5<33.6
33.6
maven/org.geotools.jdbc:gt-jdbc-postgis>=34.0<34.5
34.5
maven/org.geotools.jdbc:gt-jdbc-postgis=35.0
35.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade maven/org.geotools.jdbc:gt-jdbc-postgis to a version that resolves this vulnerability.

    Fixed in 33.6
  2. Upgrade

    Upgrade maven/org.geotools.jdbc:gt-jdbc-postgis to a version that resolves this vulnerability.

    Fixed in 34.5
  3. Upgrade

    Upgrade maven/org.geotools.jdbc:gt-jdbc-postgis to a version that resolves this vulnerability.

    Fixed in 35.1
  4. Compensating control

    To limit scope of SQL Injection, configure the PostGIS connection pool with limited rights (least-privilege) when using GeoTools with the PostGIS DataStore implementation for OGC Filters.

Event History

Aug 21, 2026
Advisory Published
via GitHub·08:25 PM
Data Sourced
via GitHub·08:25 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Deployments using the GeoTools PostGIS DataStore are affected when they execute OGC Filters using jsonArrayContains against PostGIS 12 or later. The affected function requires a String or JSON field.

2

What does an attacker need to exploit it?

The vulnerable path is reached through an OGC Filter using jsonArrayContains. In affected PostGIS versions, the function writes the supplied value into generated SQL without escaping.

3

Which GeoTools releases contain patches?

Patches are available in GeoTools 35.1, 34.4, and 33.5.

4

What can be done if patching cannot happen immediately?

No complete mitigation is available. Configure the PostGIS connection pool to use database credentials with limited rights to reduce the scope of potential SQL injection.

5

What is the potential impact of successful exploitation?

Successful exploitation can allow execution of arbitrary SQL expressions in the database.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203