CVE-2026-76904 json
GeoTools has unauthenticated SQL injection in the jsonArrayContains filter function against PostGIS layers
published 2026-08-21 2 mo ago modified 2026-10-14 25 d ago also EUVD-2026-64133 , GHSA-mqjf-5f49-2fjh
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 4.0%
- EPSS 4.0% chance of exploitation in 30 days, percentile 90%
- public exploits
- 0
- none known, plus a Nuclei check
Summary
GeoTools is an open source Java library that provides tools for geospatial data. Starting in version 30.5 and prior to versions 33.6, 34.5, and 33.6, an SQL Injection Vulnerability is present 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 are available in versions 33.6, 34.5, and 33.6. No known workaround is available. To limit scope of SQL Injection the PostGIS connection pool should be configured with limited rights.
Patch / fix
- maven org.geotools.jdbc:gt-jdbc-postgis 33.6, 34.5, 35.1
- geotools geotools 33.6, 34.5, 35.1
- org.geotools.jdbc gt-jdbc-postgis 33.6, 34.5, 35.1
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 2 mo ago
Exploit prediction
3.98% chance of exploitation in the next 30 days, higher than 90% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- Nuclei template GeoServer jsonArrayContains CQL Filter - SQL Injection nuclei detection template
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.geotools.jdbc:gt-jdbc-postgis | >=35.0, <35.1 >=34.0, <34.5 >=30.5, <33.6 |
35.1 34.5 33.6 |
Affected products
- geotools geotools
Classification
- Weakness
-
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command
References
-
github.com
/geotools/geotools/pull/5829
web
-
github.com
/geotools/geotools/commit/d821c4d321dd91c22e31fcd5b1ce676645da5176
web
-
github.com
/geotools/geotools/security/advisories/GHSA-mqjf-5f49-2fjh
web
-
github.com
/geotools/geotools/releases/tag/33.6
web
-
github.com
/geotools/geotools/releases/tag/34.5
web
-
github.com
/geotools/geotools/releases/tag/35.1
web
-
osgeo-org.atlassian.net
/browse/GEOT-7589
web
-
osgeo-org.atlassian.net
/browse/GEOT-7958
web
-
osgeo-org.atlassian.net
/browse/GEOT-7959
web
-
github.com
/geotools/geotools
package
Sources
- CVE List CVE-2026-76904
- GitHub Advisory GHSA-mqjf-5f49-2fjh
- NVD CVE-2026-76904
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.