Skip to main content

vertx-pg-client EUVDEUVD-2026-101958

| CVE-2026-102463 HIGH
Memory Allocation with Excessive Size Value (CWE-789)
2026-10-15 eclipse GHSA-fqmh-j4r4-hgmj
8.2
CVSS 4.0 · Vendor: eclipse
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Control malicious/compromised Postgres server or MITM unencrypted link
  2. Exploit
    Send crafted DataRow with huge array dimension
  3. Execution
    Client allocates unbounded Java array
  4. Impact
    OutOfMemoryError crashes service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
Exploitation Conditions

Exploitation requires the attacker to occupy a trusted data-path position: either (1) control over, or compromise of, the PostgreSQL server that the Vert.x application connects to, or (2) an on-path/man-in-the-middle position on an UNENCRYPTED (non-TLS) connection between vertx-pg-client and the database. The vulnerable code path is DataTypeCodec.binaryDecodeArray in vertx-pg-client, triggered when decoding a binary-format array column in a DataRow message; the attacker supplies an excessively large server-declared 32-bit array dimension count that is allocated without an upper bound. Limiting factors: no application-level authentication or user interaction is needed (PR:N/UI:N), but the requirement for DB-server control or MITM-on-plaintext is a substantial barrier (reflected as AC:H) - deployments using TLS to a trusted, operator-controlled database are largely insulated. Affected: Vert.x 4.0.0-4.5.34, 5.0.0-5.0.12, 5.1.0-5.1.9, and 5.2.0 using vertx-pg-client with binary array decoding.

Impact

This is a denial-of-service flaw (CVSS 4.0 8.2, VA:H with VC:N/VI:N - availability-only impact) in the vertx-pg-client binary array decoder. The input provides only a CVSS 4.0 vector; no EPSS score, KEV listing, or POC is present, so exploitation probability signals are absent rather than low. Exploitation status is 'no public exploit identified at time of analysis.' The headline 8.2 is driven by AV:N/PR:N/UI:N, but this overstates practical risk because the attacker is not an arbitrary remote party: per the description they must either control/compromise the PostgreSQL server the client talks to, or be an on-path (MITM) attacker on an UNENCRYPTED connection. The CVSS:4.0 vector correctly captures this friction with AC:H. In normal deployments the database is a trusted component reached over TLS, so the realistic attack surface is far narrower than AV:N alone implies. Net: this is a medium real-world priority for most deployments (patch in routine cycles; prioritize if you connect to untrusted/third-party Postgres instances or use unencrypted client-DB links). Note the signal tension: CVSS vector implies unauthenticated remote reach, but the written conditions require a privileged network/trust position - the AC:H metric is the reconciling factor and should be weighed heavily.

Exploit ScenarioDerived

A Vert.x service connects to a PostgreSQL database that is attacker-controlled (e.g., a compromised or malicious third-party/multi-tenant DB), or an attacker sits on-path on an unencrypted (non-TLS) client-to-database link. The attacker returns a crafted DataRow for a binary array column declaring an enormous 32-bit dimension count, causing the client to attempt a multi-gigabyte heap allocation and crash with OutOfMemoryError, taking down the service. No public exploit code is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 15, 2026

Denial of service in Eclipse Vert.x's vertx-pg-client component allows an attacker controlling the PostgreSQL server or positioned as a man-in-the-middle on an unencrypted connection to crash the client application. The flaw resides in the binary array decoder (DataTypeCodec.binaryDecodeArray), which allocates a Java array based on a server-supplied 32-bit dimension count without upper bound checking, leading to a multi-gigabyte heap allocation and OutOfMemoryError. Affected versions include 4.0.0 through 4.5.34, 5.0.0 through 5.0.12, 5.1.0 through 5.1.9, and 5.2.0. Exploitation requires no authentication (PR:N) but does require control of the database server or a MITM position on a non-TLS connection (AC:H), and no public exploit code has been identified at time of analysis.

RemediationAI

Patch available per vendor advisory: apply the upgrade described at https://github.com/eclipse-vertx/vertx-sql-client/security/advisories/GHSA-xqmh-8fhj-48fp. No exact patched version is provided in the available data, so consult the advisory for the fixed release. As a workaround, enforce TLS encryption for all PostgreSQL connections to prevent on-path attackers from injecting malicious DataRow messages; this mitigates the MITM scenario but not a compromised database server. Additionally, restrict network access to trusted database servers and monitor for abnormal client memory usage. Setting a maximum heap size can reduce the severity of the OOM crash but does not fix the vulnerability. These mitigations have trade-offs: TLS adds overhead, and network restrictions may limit legitimate access.

Affected VersionsENISA

Eclipse Vert.x 5.2.0
Eclipse Vert.x 5.0.0 ≤5.0.12
Eclipse Vert.x 5.1.0 ≤5.1.9
Eclipse Vert.x 4.0.0 ≤4.5.34

Affected Packages

euvd eclipse_vert_x no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is in the binary format decoding logic of vertx-pg-client, specifically in DataTypeCodec.binaryDecodeArray. When the client processes a DataRow message containing a binary array column, it reads a 32-bit dimension count from the server. This value is used directly to allocate a Java array without validating against a reasonable maximum size. An attacker can supply a very large dimension count (e.g., near 2^31), causing the JVM to attempt allocating multiple gigabytes of heap memory, which typically results in an OutOfMemoryError and crashes the application. The root cause is a missing bounds check on untrusted input, a classic case of uncontrolled resource consumption (CWE-770). The CPE string cpe:2.3:a:eclipse_foundation:eclipse_vert.x:*:*:*:*:*:*:*:* confirms the affected product family. The component is io.vertx:vertx-pg-client. The attack vector is network-based but with high complexity because it requires either a malicious PostgreSQL server or an on-path attacker on an unencrypted channel; deployments using TLS to a trusted, operator-controlled database are largely insulated.

Know when Java gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (eclipse) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.9 MEDIUM

AV:N as data arrives over the network, AC:H because the attacker must control the DB server or MITM an unencrypted link; PR:N/UI:N on the victim client; impact is availability-only (OOM crash).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (eclipse).

CVSS VectorVendor: eclipse

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

In Eclipse Vert.x versions [4.0.0, 4.5.34] or [5.0.0,5.0.12] or [5.1.0,5.1.9] or [5.2.0, 5.2.0], the binary array decoder in vertx-pg-client (DataTypeCodec.binaryDecodeArray) allocates a Java array sized by a server-declared 32-bit dimension count with no upper bound. A malicious or compromised PostgreSQL server, or an on-path attacker intercepting an unencrypted connection, can send a crafted DataRow message with an excessively large array dimension value, causing the client to attempt a multi-gigabyte heap allocation and crash with an OutOfMemoryError.

The impacted component is io.vertx:vertx-pg-client.

Technical POC Analysis

Unbounded allocation driven by an attacker-controlled field in the PostgreSQL wire protocol, reached through the Vert.x PG client's binary array decoder.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Eclipse Vert.x's vertx-pg-client, a widely embedded PostgreSQL driver used by Java services, contains a denial-of-service flaw that lets an attacker who controls the database server or intercepts a non-TLS connection exhaust heap memory and crash the client application. All versions 4.0.0 through 4.5.34, 5.0.0 through 5.0.12, 5.1.0 through 5.1.9, and 5.2.0 are affected, and no vendor-released patch is available today, so every service built on these versions remains exposed to unplanned outages. Leadership should care because the risk is availability-driven and remediation depends on network and transport controls rather than a simple upgrade, meaning teams must act on configuration now while tracking the vendor for a fixed release.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: enforce TLS with full server certificate validation (sslmode=verify-full with a pinned or private CA) on all vertx-pg-client connections; block unencrypted PostgreSQL traffic and restrict application egress to approved database endpoints to remove man-in-the-middle reachability; run affected clients with bounded heap and OutOfMemoryError alerting; monitor for connection resets and abnormal heap growth; upgrade to the vendor-released fixed version as soon as it is published.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
popular JVM reactive toolkit, but PostgreSQL client module specifically affected
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy