CVE-2026-119276
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.
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
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 Medium
CVSS: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 Medium
CVSS: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 Medium
CVSS: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 Medium
CVSS: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 Medium
CVSS: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 Medium
CVSS: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 Medium
CVSS: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 Medium
CVSS: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
| Package | Affected | Fixed |
|---|---|---|
org.mariadb.jdbc:mariadb-java-clientMaven |
3.0.0 up to 3.3.7 | 3.3.7 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.4.0 up to 3.4.5 | 3.4.5 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.5.0 up to 3.5.11 | 3.5.11 |
mariadb-connector-javaDebian:12 |
All versions, plus listed versions 2.7.15-12.7.6-13.5.10-1 |
None known |
mariadb-connector-javaDebian:13 |
All versions, plus listed versions 2.7.15-12.7.6-13.5.10-1 |
None known |
mariadb-connector-javaDebian:14 |
All versions, plus listed versions 2.7.15-12.7.6-13.5.10-1 |
None known |
org.mariadb.jdbc:mariadb-java-clientMaven |
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 less3.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-clientMaven |
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-clientMaven |
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 less3.5.53.5.63.5.73.5.83.5.9 |
3.5.11 |
mariadb-connector-javaUbuntu:18.04:LTS |
All versions, plus listed versions 2.3.0-1~18.04 |
None known |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
mariadb-connector-javaUbuntu:20.04:LTS |
All versions, plus listed versions 2.4.2-1build22.5.3-1 |
None known |
mariadb-connector-javaUbuntu:22.04:LTS |
All versions, plus listed versions 2.7.2-12.7.4-1 |
None known |
mariadb-connector-javaUbuntu:24.04:LTS |
All versions, plus listed versions 2.7.6-1 |
None known |
mariadb-connector-javaUbuntu:26.10 |
All versions, plus listed versions 2.7.6-1build1 |
None known |
mariadb-connector-javaUbuntu:26.04:LTS |
All versions, plus listed versions 2.7.6-12.7.6-1build1 |
None known |
mariadb-java-clientopenSUSE:Tumbleweed From an advisory covering 7 CVEs |
before 3.5.11-1.1 | 3.5.11-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | OSV | |
| affected, aliases, facts, references | OSV | |
| first indexed | CVE 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
github.com/mariadb-corporation/mariadb-connector-j/security/advisories/GHSA-h599-m3w5-9m7x
github.com/mariadb-corporation/mariadb-connector-j/commit/b9e1ee8d9b4d820d70719504cdfd5c97f1aede5f
github.com/mariadb-corporation/mariadb-connector-j/commit/beb445fcf9294113878fc05ac77f0efdf0596ac6
github.com/mariadb-corporation/mariadb-connector-j/commit/ea8c7b6537e50053444188a9a3fd9cae99550f56
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.3.7
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.4.5
Show 15 moreShow less
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.5.11
nvd.nist.gov/vuln/detail/CVE-2026-119276
github.com/advisories/GHSA-h599-m3w5-9m7x
github.com/CVEProject/cvelistV5/tree/main/cves/2026/119xxx/CVE-2026-119276.json
security-tracker.debian.org/tracker/CVE-2026-119276
github.com/mariadb-corporation/mariadb-connector-j
ubuntu.com/security/CVE-2026-119276
cve.org/CVERecord?id=CVE-2026-119276
suse.com/security/cve/CVE-2026-119210
suse.com/security/cve/CVE-2026-119276
suse.com/security/cve/CVE-2026-119277
suse.com/security/cve/CVE-2026-119278
suse.com/security/cve/CVE-2026-119279
suse.com/security/cve/CVE-2026-119280
suse.com/security/cve/CVE-2026-119281