CVE-2025-14969
Java vulnerability analysis and mitigation

Overview

CVE-2025-14969 is a Denial of Service vulnerability in Hibernate Reactive caused by connection pool exhaustion when HTTP clients prematurely disconnect. When an HTTP endpoint is exposed to perform database operations, a remote client closing the connection early can cause database connections to leak from the connection pool, eventually exhausting available connections. The vulnerability affects org.hibernate.reactive:hibernate-reactive-core versions prior to 4.2.1. It was first reported on December 19, 2025, and published to the GitHub Advisory Database on January 26, 2026. It carries a CVSS v3.1 base score of 4.3 (Medium) (Red Hat CVE, Github Advisory).

Technical details

The root cause is classified as CWE-772 (Missing Release of Resource after Effective Lifetime): when a client abruptly closes an HTTP connection mid-request while a database operation is in progress, Hibernate Reactive fails to properly release the associated database connection back to the pool (Github Advisory, Red Hat Bugzilla). The attack vector is network-based with low attack complexity, and an attacker requires low privileges (an authenticated or otherwise valid HTTP session) to trigger the flaw. Repeated premature disconnections accumulate leaked connections until the pool is exhausted, rendering the application unable to serve further database-backed requests. The fix is tracked in the Hibernate Reactive source repository at commit cd7f104 (Github Advisory).

Impact

Successful exploitation results in a Denial of Service condition affecting the availability of any application that uses Hibernate Reactive to expose HTTP endpoints backed by database operations. There is no impact on confidentiality or data integrity — attackers cannot read or modify data through this vulnerability. The scope is limited to the affected application instance; however, exhausting the database connection pool can cascade to affect all users of the application until connections are recovered or the service is restarted (Github Advisory, Red Hat Bugzilla).

Exploitation steps

  1. Identify target: Locate an application exposing HTTP endpoints that use Hibernate Reactive for database operations (e.g., a Quarkus-based REST API using hibernate-reactive-core < 4.2.1).
  2. Authenticate or obtain access: Obtain low-privilege credentials or a valid session token sufficient to make HTTP requests to the target endpoint.
  3. Send requests and abort: Repeatedly send HTTP requests to a database-backed endpoint and immediately close the TCP connection (e.g., using tools like curl with --max-time 0 or custom scripts that send a request and immediately reset the connection) before the server completes the database operation.
  4. Exhaust the connection pool: Repeat step 3 in rapid succession. Each premature disconnect leaks one database connection; once the pool limit is reached, the application can no longer acquire connections for legitimate requests.
  5. Observe DoS: Legitimate users receive errors or timeouts on database-backed endpoints, effectively causing a denial of service until the application is restarted or connections time out and are reclaimed (Red Hat Bugzilla, Github Advisory).

Indicators of compromise

  • Logs: Application logs showing repeated database connection acquisition failures or pool exhaustion errors (e.g., Unable to acquire JDBC Connection, Connection pool exhausted, or similar reactive pool timeout messages).
  • Logs: HTTP access logs showing a high volume of requests to database-backed endpoints with very short response times or connection resets (HTTP status 0 or TCP RST entries).
  • Application Metrics: Monitoring dashboards showing the database connection pool active count at or near maximum with zero idle connections over a sustained period.
  • Process/Runtime: Increased memory or thread usage in the application JVM corresponding to unreleased reactive pipeline resources associated with aborted requests.

Mitigation and workarounds

The vulnerability is fixed in hibernate-reactive-core version 4.2.1. Users should upgrade to this version or later (Github Advisory). For Red Hat Quarkus users, the fix is included in Red Hat build of Quarkus 3.27.2, released via security advisory RHSA-2026:1965 (Red Hat Errata). As a temporary workaround prior to patching, operators can configure connection pool timeouts and maximum pool sizes conservatively, and implement rate limiting or authentication controls on HTTP endpoints to reduce the risk of connection exhaustion.

Community reactions

Red Hat rated this vulnerability as Moderate severity and addressed it in the Red Hat build of Quarkus 3.27.2 release (Red Hat Errata). The Quarkus project blog announced the 3.27.2 release noting the CVE fix. No significant independent researcher commentary or broad media coverage has been identified for this vulnerability.

Additional resources


SourceThis report was generated using AI

Related Java vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-p279-2cqp-84jgCRITICAL9.6
  • Java logoJava
  • org.openidentityplatform.opendj:opendj-server-legacy
NoYesJul 24, 2026
GHSA-fp43-vj7g-pg92HIGH7.5
  • Java logoJava
  • org.omnifaces:omnifaces
NoYesJul 24, 2026
GHSA-7ppr-r889-mcf2HIGH7.5
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.12
NoYesJul 24, 2026
GHSA-mhvj-jhpq-885vHIGH7.4
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.13
NoYesJul 24, 2026
GHSA-46q4-43ph-c6frHIGH7.4
  • Java logoJava
  • org.http4s:blaze-http_2.12
NoYesJul 24, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management