CVE-2026-76904
| Severity | 9.8 Critical CVSS 3.1 |
|---|---|
| Fixed in | 35.1, 34.5, 33.6 |
| Weakness | SQL injection (CWE-89) |
| Published | 21 Aug 2026 |
| Updated | 3 Nov 2026 |
Published 2 months ago. NVD often adds the list of affected products days or weeks after a CVE is published, and the other sources we check lag too. The scope and status here may change.
Description
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.
Exploitation status
Exploited
Real-world exploitation reported by VulnCheck KEV. CISA has not confirmed it.
Exploitation status
- CISA KEV not listed
- VulnCheck KEV listed Exploitation reported in the wild. 1 citation · honeypot sightings · 2 exploits · earliest 2026-08-21.
- CISA Vulnrichment exploitation: none
- Indexed PoC 3 indexed Published artifacts you can open, in GitHub PoC, Nuclei; first seen 2026-08-16.
- EPSS 4.0% chance in 30 days
VulnCheck KEV
Exploitation evidence from VulnCheck Known Exploited Vulnerabilities (VulnCheck KEV), used under VulnCheck's community terms. View CVE-2026-76904 in VulnCheck (free account).
| Evidence | Source | Detail | Date |
|---|---|---|---|
| Honeypot sighting | Shadowserver honeypots | Exploitation attempts seen on 2 days | 2026-08-24 to 2026-09-06 |
| Reported exploitation | previdian.com | /CVE-2026-76904 | 2026-08-21 |
| Exploit reference | VulnCheck XDB a84bac21ea28 | Exploit type: initial-access | 2026-08-16 |
| Exploit reference | VulnCheck XDB ba840cc25ac9 | Exploit type: info-leak | 2026-08-26 |
| Index | Artifact | Stars | First seen |
|---|---|---|---|
| GitHub PoC | One-Day POC | GeoServer Unauthenticated SQL injection to complete RCE | 6 | 2026-08-16 |
| GitHub PoC | PostGIS SQL Injection GeoTools | 1 | 2026-08-26 |
| Nuclei | GeoServer jsonArrayContains CQL Filter - SQL Injection |
Waratek protection
A kind of vulnerability Waratek's rules address, with exploit code published or exploitation reported. No rule exists and none is planned yet. The decision below says what we found to build a rule from.
- Protection none
- Action feasible
- Review human Researcher
- Record active
| Decided by | A researcher's recorded decision for this specific CVE |
|---|---|
| Finding | A researcher set this CVE's status to Mitigation candidate. |
Waratek research note
written 2026-11-13Written by a Waratek engineer who reviewed this CVE. Their decision sets the status above, ahead of every automated rule except a withdrawal.
Comments
SQL injection in GeoTools gt-jdbc-postgis through the jsonArrayContains filter function, reachable unauthenticated through GeoServer's CQL_FILTER parameter. The SQL rule does not currently detect this injection.
Affected software and releases
Maven packages
Affected and fixed versions, from OSV.dev| Package | Introduced | Fixed | Last affected |
|---|---|---|---|
org.geotools.jdbc:gt-jdbc-postgis |
35.0 | 35.1 |
unbounded |
org.geotools.jdbc:gt-jdbc-postgis |
34.0 | 34.5 |
unbounded |
org.geotools.jdbc:gt-jdbc-postgis |
30.5 | 33.6 |
unbounded |
Products and versions
1 product, 3 version entries| Source | Vendor | Product | Scheme | Affected versions |
|---|---|---|---|---|
| osv | org.geotools.jdbc | gt-jdbc-postgis | generic | ≥ 30.5 and < 33.6 · ≥ 34.0 and < 34.5 · ≥ 35.0 and < 35.1 |
References
Timeline
Timeline
| Published | 2026-08-21 | By the CVE Program. |
|---|---|---|
| VulnCheck KEV: earliest evidence | 2026-08-21 | Date of the oldest evidence of exploitation in VulnCheck KEV's record. VulnCheck does not publish the date it listed the CVE. |
| VulnCheck KEV: latest evidence | 2026-09-06 | Date of the newest report, exploit reference or honeypot sighting in VulnCheck KEV's record. |
| NVD record modified | 2026-10-14 | NVD's own last-modified date for this record. |
| Last VRT activity | 2026-11-03 | Most recent commit touching this CVE's classification, patch or rule file. |
| Classification created | 2026-11-13 | First commit adding this CVE's research note. |