WaratekVRT Sign in

CVE-2026-76904

Severity9.8 Critical CVSS 3.1
Fixed in35.1, 34.5, 33.6
WeaknessSQL injection (CWE-89)
Published21 Aug 2026
Updated3 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.

  • 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).

EvidenceSourceDetailDate
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

1 of these are GitHub repositories with fewer than 5 stars. They are listed for reference and don't count toward the exploitation status above.

IndexArtifactStarsFirst 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

Mitigation candidate

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-13

Written 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
PackageIntroducedFixedLast 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
SourceVendorProductSchemeAffected 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

URLTags
https://github.com/geotools/geotools/security/advisories/GHSA-mqjf-5f49-2fjh WEB
https://github.com/geotools/geotools/pull/5829 WEB
https://github.com/geotools/geotools/commit/d821c4d321dd91c22e31fcd5b1ce676645da5176 WEB
https://github.com/geotools/geotools PACKAGE
https://github.com/geotools/geotools/releases/tag/33.6 WEB
https://github.com/geotools/geotools/releases/tag/34.5 WEB
https://github.com/geotools/geotools/releases/tag/35.1 WEB
https://osgeo-org.atlassian.net/browse/GEOT-7589 WEB
https://osgeo-org.atlassian.net/browse/GEOT-7958 WEB
https://osgeo-org.atlassian.net/browse/GEOT-7959 WEB

Timeline

Published2026-08-21By the CVE Program.
VulnCheck KEV: earliest evidence2026-08-21Date of the oldest evidence of exploitation in VulnCheck KEV's record. VulnCheck does not publish the date it listed the CVE.
VulnCheck KEV: latest evidence2026-09-06Date of the newest report, exploit reference or honeypot sighting in VulnCheck KEV's record.
NVD record modified2026-10-14NVD's own last-modified date for this record.
Last VRT activity2026-11-03Most recent commit touching this CVE's classification, patch or rule file.
Classification created2026-11-13First commit adding this CVE's research note.