Medium · published October 15, 2026
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 PostgreSQL message decoder reads the 4-byte message length field from the PostgreSQL wire protocol without any maximum validation. A malicious, compromised, or man-in-the-middle PostgreSQL server can send a message header with the length field set to an extremely large value (up to Integer.MAX_VALUE), causing the decoder to accumulate subsequent TCP data into a composite buffer without bound, leading to unbounded memory allocation on the client and an out-of-memory crash. This occurs before authentication completes.
The impacted component is io.vertx:vertx-pg-client.
| Product | Versions | Fixed in |
|---|---|---|
| eclipse/vert.x | ≥ 4.5.0, < 4.5.35 | 4.5.35 |
| eclipse/vert.x | ≥ 5.0.0, < 5.1.10 | 5.1.10 |
| eclipse/vert.x | all versions | — |