CVE-2026-103224
8.2HighPublished 15 Oct 2026 · NVD status: Undergoing Analysis · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
- Impact
- High impact on availability
- Weakness
- CWE-789
Impact
A malicious or man-in-the-middle MySQL server can crash your client service via out-of-memory errors before authentication completes. The attacker needs network positioning to intercept traffic or control over the upstream MySQL endpoint.
Root cause
The MySQL message decoder merges multi-packet payloads into a direct-memory buffer without enforcing an upper size limit.
Affected systems
io.vertx:vertx-mysql-client 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
CVSS v4.0 · 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Fix & remediation
Upgrade io.vertx:vertx-mysql-client to patched releases (versions > 4.5.34, > 5.0.12, > 5.1.9, or > 5.2.0). If you cannot patch immediately, ensure TLS verification is strictly enforced on all MySQL connections to prevent MITM packet injection.
$ ./gradlew dependencyInsight --dependency vertx-mysql-client || mvn dependency:tree -Dincludes=io.vertx:vertx-mysql-clientAI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
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 MySQL message decoder aggregates inbound multi-packet payloads into a composite direct-memory buffer without any cumulative size limit. A malicious, compromised, or man-in-the-middle MySQL server can send a continuous stream of packets with the maximum payload length (0xFFFFFF), preventing the end-of-message condition from being reached, causing unbounded direct-memory allocation on the client and leading to an out-of-memory crash. This occurs before authentication completes. The impacted component is io.vertx:vertx-mysql-client.