Every CVE Search/ Get API key

CVE-2026-119276

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

5.9 MediumFix available

MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, when CLIENT_SESSION_TRACK was negotiated, the OkPacket.parse() and OkPacket.parseWithInfo() paths allocated byte arrays using server-declared lengths for the OK packet info field and session-state variable names and values before confirming that the bytes remained in the packet. A malicious or compromised server, or a machine-in-the-middle attacker, could send a small OK packet declaring a much larger length and repeatedly force attacker-controlled heap allocations before the subsequent copy failed. This could create garbage-collection pressure or an OutOfMemoryError in the client application. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.35%Unchanged since Oct 30, 2026
90%50%10%1%

What each source reports

CVE List Score used 5.9

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

MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, when CLIENT_SESSION_TRACK was negotiated, the OkPacket.parse() and OkPacket.parseWithInfo() paths allocated byte arrays using server-declared lengths for the OK packet info field and session-state variable names and values before confirming that the bytes remained in the packet. A malicious or compromised server, or a machine-in-the-middle attacker, could send a small OK packet declaring a much larger length and repeatedly force attacker-controlled heap allocations before the subsequent copy failed. This could create garbage-collection pressure or an OutOfMemoryError in the client application. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
CVE-2026-119276
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-130, CWE-789
Updated
2026-11-02
EUVDEUVD-2026-113383 5.9

MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, when CLIENT_SESSION_TRACK was negotiated, the OkPacket.parse() and OkPacket.parseWithInfo() paths allocated byte arrays using server-declared lengths for the OK packet info field and session-state variable names and values before confirming that the bytes remained in the packet. A malicious or compromised server, or a machine-in-the-middle attacker, could send a small OK packet declaring a much larger length and repeatedly force attacker-controlled heap allocations before the subsequent copy failed. This could create garbage-collection pressure or an OutOfMemoryError in the client application. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
EUVD-2026-113383
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-h599-m3w5-9m7x 5.9

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

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

Record
GHSA-h599-m3w5-9m7x
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-130, CWE-789
Updated
2026-11-02
NVD 5.9

MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, when CLIENT_SESSION_TRACK was negotiated, the OkPacket.parse() and OkPacket.parseWithInfo() paths allocated byte arrays using server-declared lengths for the OK packet info field and session-state variable names and values before confirming that the bytes remained in the packet. A malicious or compromised server, or a machine-in-the-middle attacker, could send a small OK packet declaring a much larger length and repeatedly force attacker-controlled heap allocations before the subsequent copy failed. This could create garbage-collection pressure or an OutOfMemoryError in the client application. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
CVE-2026-119276
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-130, CWE-789
Updated
2026-11-02
OSV 5.9

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

MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, when CLIENT_SESSION_TRACK was negotiated, the OkPacket.parse() and OkPacket.parseWithInfo() paths allocated byte arrays using server-declared lengths for the OK packet info field and session-state variable names and values before confirming that the bytes remained in the packet. A malicious or compromised server, or a machine-in-the-middle attacker, could send a small OK packet declaring a much larger length and repeatedly force attacker-controlled heap allocations before the subsequent copy failed. This could create garbage-collection pressure or an OutOfMemoryError in the client application. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
CVE-2026-119276
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-130, CWE-789
Updated
2026-11-04
OSVDEBIAN-CVE-2026-119276 5.9

MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, when CLIENT_SESSION_TRACK was negotiated, the OkPacket.parse() and OkPacket.parseWithInfo() paths allocated byte arrays using server-declared lengths for the OK packet info field and session-state variable names and values before confirming that the bytes remained in the packet. A malicious or compromised server, or a machine-in-the-middle attacker, could send a small OK packet declaring a much larger length and repeatedly force attacker-controlled heap allocations before the subsequent copy failed. This could create garbage-collection pressure or an OutOfMemoryError in the client application. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
DEBIAN-CVE-2026-119276
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGHSA-h599-m3w5-9m7x 5.9

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

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

Record
GHSA-h599-m3w5-9m7x
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-130, CWE-789
Updated
2026-11-02
OSVUBUNTU-CVE-2026-119276 5.9

MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, when CLIENT_SESSION_TRACK was negotiated, the OkPacket.parse() and OkPacket.parseWithInfo() paths allocated byte arrays using server-declared lengths for the OK packet info field and session-state variable names and values before confirming that the bytes remained in the packet. A malicious or compromised server, or a machine-in-the-middle attacker, could send a small OK packet declaring a much larger length and repeatedly force attacker-controlled heap allocations before the subsequent copy failed. This could create garbage-collection pressure or an OutOfMemoryError in the client application. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
UBUNTU-CVE-2026-119276
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-05
OSVopenSUSE-SU-2026:12401-1 No score

mariadb-java-client-3.5.11-1.1 on GA media

These are all security issues fixed in the mariadb-java-client-3.5.11-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:12401-1
Updated
2026-11-04

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.mariadb.jdbc:mariadb-java-client
Maven
3.0.0 up to 3.3.7
3.3.7
org.mariadb.jdbc:mariadb-java-client
Maven
3.4.0 up to 3.4.5
3.4.5
org.mariadb.jdbc:mariadb-java-client
Maven
3.5.0 up to 3.5.11
3.5.11
mariadb-connector-java
Debian:12
All versions, plus listed versions
2.7.15-12.7.6-13.5.10-1
None known
mariadb-connector-java
Debian:13
All versions, plus listed versions
2.7.15-12.7.6-13.5.10-1
None known
mariadb-connector-java
Debian:14
All versions, plus listed versions
2.7.15-12.7.6-13.5.10-1
None known
org.mariadb.jdbc:mariadb-java-client
Maven
3.0.0 up to 3.3.7, plus listed versions
3.0.1-beta3.0.103.0.113.0.2-rc3.0.3
Show 19 moreShow less
3.0.43.0.53.0.63.0.73.0.83.0.93.1.03.1.13.1.23.1.33.1.43.2.03.3.03.3.13.3.23.3.33.3.43.3.53.3.6
3.3.7
org.mariadb.jdbc:mariadb-java-client
Maven
3.4.0 up to 3.4.5, plus listed versions
3.4.13.4.23.4.33.4.4
3.4.5
org.mariadb.jdbc:mariadb-java-client
Maven
3.5.0 up to 3.5.11, plus listed versions
3.5.13.5.103.5.23.5.33.5.4
Show 5 moreShow less
3.5.53.5.63.5.73.5.83.5.9
3.5.11
mariadb-connector-java
Ubuntu:18.04:LTS
All versions, plus listed versions
2.3.0-1~18.04
None known
Show 6 moreShow less
Affected packages
PackageAffectedFixed
mariadb-connector-java
Ubuntu:20.04:LTS
All versions, plus listed versions
2.4.2-1build22.5.3-1
None known
mariadb-connector-java
Ubuntu:22.04:LTS
All versions, plus listed versions
2.7.2-12.7.4-1
None known
mariadb-connector-java
Ubuntu:24.04:LTS
All versions, plus listed versions
2.7.6-1
None known
mariadb-connector-java
Ubuntu:26.10
All versions, plus listed versions
2.7.6-1build1
None known
mariadb-connector-java
Ubuntu:26.04:LTS
All versions, plus listed versions
2.7.6-12.7.6-1build1
None known
mariadb-java-client
openSUSE:Tumbleweed
From an advisory covering 7 CVEs
before 3.5.11-1.1
3.5.11-1.1

History

History
RecordedChangedSources
affectedOSV
affected, aliases, facts, referencesOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-119276 is a medium vulnerability (CVSS 5.9) in Mariadb-corporation Mariadb-connector-j, published October 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.35%, the 28th percentile. Fixed in org.mariadb.jdbc:mariadb-java-client 3.3.7.

References

Show 15 moreShow less
MoveEnter Open