Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
☕
☕ Maven
Not in CISA KEV
MEDIUM severity

CVE-2026-119276 — mariadb-java-client

MEDIUMFix: mariadb-corporation/mariadb-connector-j@b9e1ee8

CVE-2026-119276 is a medium-severity (CVSS 5.9) CWE-130 vulnerability in org.mariadb.jdbc:mariadb-java-client. A fix is available for org.mariadb.jdbc:mariadb-java-client — see the affected versions and patch details below.

MariaDB Connector/J: Rogue server can drive large heap allocations from server-declared lengths in OK packets

Also known asGHSA-h599-m3w5-9m7x
Published
Updated
Affected
3 pkgs
Patched
3 / 3
Exploits
None indexed
Exploitation data as of Oct 30, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

No confirmed exploitation observed yet

  • CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.

Exploitation and automatability from CISA’s SSVC triage for CVE-2026-119276.

EPSS Exploitation Probability

via FIRST.org ↗
0.4%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs29th percentile — riskier than 29% of all scored CVEsHighest risk

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

CVE-2026-119276 by exploitation likelihood (EPSS) against impact (CVSS). Outside the shaded patch-first corner.

Where this sits among everything scored

Of 398,142 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Counts from FIRST.org, log-scaled.

Real-World Exposure

3 pkgs affected
☕org.mariadb.jdbc:mariadb-java-client☕org.mariadb.jdbc:mariadb-java-client☕org.mariadb.jdbc:mariadb-java-client

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.

Description

Summary

MariaDB Connector/J sized heap allocations from lengths declared by the server in OK packets before checking that those lengths fit in the packet. A rogue or MitM server can make the client allocate megabytes from a packet of a few bytes.

Details

When CLIENT_SESSION_TRACK is negotiated (the default), an OK packet carries an info field followed by session-state blocks, each tracked variable being sent as a length-encoded name and value. OkPacket.parse() and parseWithInfo() allocated new byte[len] for the info field, the variable name and the value with the server-declared len, then copied the packet data into it. The copy failed with an ArrayIndexOutOfBoundsException when the packet was shorter, but only after the allocation had taken place.

A server-declared length of 8 MiB in an 18-byte packet was enough to trigger an 8 MiB allocation; the integer-range validation of length-encoded values does not help, since such lengths are valid positive integers.

The fix validates every server-declared length against the remaining packet bytes before any allocation (ReadableByteBuf.checkLength() and a bounded readBytes(int)), and stops reading the session state at the first inconsistent entry.

Impact

Availability only: a malicious or compromised server, or a MitM, can drive attacker-controlled heap allocations on every OK packet, creating GC pressure up to OutOfMemoryError in the client application. Exploitation requires control of the server side of the connection; no authentication bypass, confidentiality or integrity impact.

Credit

Reported by fg0x0

Affected Packages

3 total 3 fixed
EcosystemPackageVulnerable rangeFix
☕Mavenorg.mariadb.jdbc:mariadb-java-client≥ 3.0.0&&< 3.3.73.3.7org.mariadb.jdbc:mariadb-java-client:3.3.7
☕Mavenorg.mariadb.jdbc:mariadb-java-client≥ 3.4.0&&< 3.4.53.4.5org.mariadb.jdbc:mariadb-java-client:3.4.5
☕Mavenorg.mariadb.jdbc:mariadb-java-client≥ 3.5.0&&< 3.5.113.5.11org.mariadb.jdbc:mariadb-java-client:3.5.11

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.mariadb.jdbc:mariadb-java-client, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update org.mariadb.jdbc:mariadb-java-client to 3.3.7 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-119276 is resolved across your whole dependency graph.

  3. Workarounds

    Put an independent control in front of the weakness: restrict the affected endpoint or interface to trusted networks, require an additional authentication factor or proxy-level check, and invalidate existing sessions and credentials in case the flaw has already been used.

Frequently Asked Questions

## Summary MariaDB Connector/J sized heap allocations from lengths declared by the server in OK packets before checking that those lengths fit in the packet. A rogue or MitM server can make the client allocate megabytes from a packet of a few bytes. ## Details When `CLIENT_SESSION_TRACK` is negotiated (the default), an OK packet carries an info field followed by session-state blocks, each tracked variable being sent as a length-encoded name and value. `OkPacket.parse()` and `parseWithInfo()` allocated `new byte[len]` for the info field, the variable name and the value with the server-declar
O3 Security · Impact-Aware SCA

Is CVE-2026-119276 in your dependencies?

Find it across Maven, including transitive dependencies.

CVE-2026-119276: mariadb-java — Fixed in 3.3.7