// 5 ZERO-DAY · 2 CVE · 3 EXPLOIT IN THE LAST 24H
A zero-day SQL injection in GeoServer was massively probed within hours of disclosure. The flaw is a regression of a 2023 vulnerability.

A zero-day vulnerability in GeoServer, publicly disclosed on August 12, 2026, triggered hundreds of exploit attempts from a narrow pool of IP addresses within hours. The flaw, a SQL injection in the jsonArrayContains function, enables remote code execution when the application server connects to PostgreSQL with elevated privileges. Project maintainers released patched versions 3.0.1, 2.28.5, and 2.27.6 following the initial disclosure.

Key Takeaways
  • The vulnerability is a regression of CVE-2023-25158 (CVSS 9.8), patched three years ago in the same JDBC-OGC Filter component class.
  • The technical mechanism exploits unsanitized user-input interpolation inside a PostgreSQL jsonb_path_exists() expression.
  • watchTowr recorded hundreds of exploit attempts from a few IPs within hours of public disclosure; only reconnaissance is observed so far, no confirmed compromise.
  • Escalation to RCE requires GeoServer to connect to PostgreSQL as a superuser or with the pg_execute_server_program role; without elevated privileges it remains a SQL injection.

Disclosure and the Race to Exploit

At 10:46 UTC on August 12, 2026, researcher @q1uf3ng posted vulnerability details on X. The disclosure immediately sparked exploitation activity.

Jake Knott, principal security researcher at watchTowr, stated: "Within hours of public disclosure, we began observing exploitation attempts and have since recorded hundreds of attempts originating from a small number of source IP addresses." The same source reports attackers are currently probing to identify vulnerable systems, generating server errors without advancing past the reconnaissance phase.

Knott added: "Currently, we're seeing attackers probe to identify vulnerable systems across the internet, triggering errors and not proceeding further." However, he also emphasized that "this is unlikely to remain the case for long: GeoServer has a track record of being targeted and exploited at scale, with multiple vulnerabilities listed in CISA's Known Exploited Vulnerabilities catalog."

The weaponization pace confirms an established pattern for geospatial software. GeoServer has been a target of large-scale exploitation in previous years. The risk of transition from reconnaissance to actual compromise remains high, given the software's deployment profile in sensitive sectors.

Technical Mechanism: From SQL Injection to Conditional RCE

The vulnerability resides in the Maven package org.geotools:gt-jdbc-postgis, in the jsonArrayContains function of the OGC filter. According to Melvin Lammerts of Hadrian, cited in the primary source, "An attacker-controlled value is interpolated directly into a PostgreSQL jsonb_path_exists() expression without escaping." This allows arbitrary SQL statement injection.

Escalation to remote code execution depends on a specific configuration condition. The GeoServer instance must connect to PostgreSQL using a superuser account or a role granted the pg_execute_server_program privilege. In this configuration, per Lammerts, "this escalates to OS command execution on the database host."

Without elevated privileges, the bug remains a SQL injection with no documented path to the underlying operating system. The source specifies that the WFS 1.0 vector provides a path for executing a second statement. The vulnerable component requires PostGIS 12 or later with a String or JSON type field.

Regression of CVE-2023-25158

A notable aspect emerges from the maintainers' own classification: the bug is a regression of CVE-2023-25158, a SQL injection with an identical CVSS 9.8 score patched in 2023 in the same GeoTools component class handling JDBC processing of OGC filters.

The reappearance of an identical vulnerability in subsequently added functionality raises questions about the coverage of security regression testing in the GeoServer and GeoTools development lifecycle. The project assigned identifier GHSA-mqjf-5f49-2fjh to the issue. No CVE is mentioned in available sources at the time of verification.

"GeoServer jsonArrayContains unauthorized SQL injection, and in the case of the sa [system administrator] database, it's naturally possible to achieve RCE" — @q1uf3ng, original disclosure

Immediate Actions

  • Apply released patches immediately: versions 3.0.1, 2.28.5, and 2.27.6, per official release notes cited in sources.
  • Identify internet-exposed GeoServer instances: the attack surface includes government deployments, critical infrastructure, agriculture, telecommunications, and transportation.
  • Reduce network exposure: for instances that cannot be patched promptly, restrict access to authorized endpoints only pending patching.
  • Verify PostgreSQL connection privileges: ensure the account used by GeoServer does not possess superuser or pg_execute_server_program privileges unless strictly necessary.

Analysis: When Code's Short Memory Becomes Security Technical Debt

The documented regression is not an isolated malfunction: it signals a systemic deficit in vulnerability traceability across codebase evolution. GeoServer, by virtue of its ubiquity in territorial and government information systems, accumulates risk non-linearly. Every new feature that replicates JDBC patterns without inheriting previous sanitizations rebuilds the same attack bridge.

The speed of weaponization—hours, not days—forces infrastructure operators into an extremely compressed reaction window. The absence of an assigned CVE at the time of disclosure did not slow attackers, highlighting how public visibility of the flaw alone was enough to trigger the chain.

For organizations with instances in sensitive environments, the priority is twofold: apply available patches and verify that database connection configurations do not amplify risk through excessive privileges. The exposure window remains open for those who do not act with the same speed as the attackers.

Information verified against cited sources and current as of publication.

Sources


Sources and references
  1. thehackernews.com
  2. securityweek.com
  3. securityaffairs.com
  4. mallory.ai
  5. cyberupdates365.com
  6. rapid7.com
  7. cisa.gov
  8. secfault-security.com