Every CVE Search/ Get API key

CVE-2026-119280

MariaDB Connector/J : XA recover() trusted server-supplied gtrid and bqual lengths

3.7 LowFix 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, the MariaDbPoolConnection.recover() and MariaDbPoolPinnedConnection.recover() implementations trusted the gtrid_length and bqual_length columns returned by XA RECOVER. The methods allocated and split Xid byte arrays without validating the lengths against Xid.MAXGTRIDSIZE, Xid.MAXBQUALSIZE, or the actual data payload. A malicious or compromised server, or a machine-in-the-middle attacker, could cause large allocations, NegativeArraySizeException, or ArrayIndexOutOfBoundsException during XA recovery. 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
Low

Exploit likelihood

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

What each source reports

CVE List Score used 3.7

MariaDB Connector/J : XA recover() trusted server-supplied gtrid and bqual lengths

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, the MariaDbPoolConnection.recover() and MariaDbPoolPinnedConnection.recover() implementations trusted the gtrid_length and bqual_length columns returned by XA RECOVER. The methods allocated and split Xid byte arrays without validating the lengths against Xid.MAXGTRIDSIZE, Xid.MAXBQUALSIZE, or the actual data payload. A malicious or compromised server, or a machine-in-the-middle attacker, could cause large allocations, NegativeArraySizeException, or ArrayIndexOutOfBoundsException during XA recovery. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
CVE-2026-119280
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-20, CWE-789
Updated
2026-11-02
EUVDEUVD-2026-113387 3.7

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, the MariaDbPoolConnection.recover() and MariaDbPoolPinnedConnection.recover() implementations trusted the gtrid_length and bqual_length columns returned by XA RECOVER. The methods allocated and split Xid byte arrays without validating the lengths against Xid.MAXGTRIDSIZE, Xid.MAXBQUALSIZE, or the actual data payload. A malicious or compromised server, or a machine-in-the-middle attacker, could cause large allocations, NegativeArraySizeException, or ArrayIndexOutOfBoundsException during XA recovery. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
EUVD-2026-113387
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-4jq2-8v3c-97w8 3.7

MariaDB Connector/J: XA recover() trusted server-supplied gtrid and bqual lengths

Summary

XAResource.recover() in MariaDB Connector/J trusted the gtrid_length and bqual_length columns returned by XA RECOVER to allocate and split each Xid.

Details

MariaDbPoolConnection and MariaDbPoolPinnedConnection built each Xid of the recovery list by allocating new byte[gtrid_length] and new byte[bqual_length] and copying from the data column, without validating the lengths against the XA specification bounds (Xid.MAXGTRIDSIZE, Xid.MAXBQUALSIZE) or the actual payload. Negative or oversized lengths, or lengths that do not fit the data, ended in large allocations or unchecked exceptions (NegativeArraySizeException, ArrayIndexOutOfBoundsException) during recovery.

The fix validates the lengths before any allocation or copy and reports an invalid row as an XAException (XAER_RMFAIL).

Impact

Availability only, and limited to applications running XA recovery: a malicious or compromised server, or a MitM, can crash the recovery or drive large allocations. Exploitation requires control of the server side of the connection.

Credit

Reported by fg0x0

Record
GHSA-4jq2-8v3c-97w8
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-20, CWE-789
Updated
2026-11-02
NVD 3.7

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, the MariaDbPoolConnection.recover() and MariaDbPoolPinnedConnection.recover() implementations trusted the gtrid_length and bqual_length columns returned by XA RECOVER. The methods allocated and split Xid byte arrays without validating the lengths against Xid.MAXGTRIDSIZE, Xid.MAXBQUALSIZE, or the actual data payload. A malicious or compromised server, or a machine-in-the-middle attacker, could cause large allocations, NegativeArraySizeException, or ArrayIndexOutOfBoundsException during XA recovery. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
CVE-2026-119280
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-20, CWE-789
Updated
2026-11-02
OSV 3.7

MariaDB Connector/J : XA recover() trusted server-supplied gtrid and bqual lengths

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, the MariaDbPoolConnection.recover() and MariaDbPoolPinnedConnection.recover() implementations trusted the gtrid_length and bqual_length columns returned by XA RECOVER. The methods allocated and split Xid byte arrays without validating the lengths against Xid.MAXGTRIDSIZE, Xid.MAXBQUALSIZE, or the actual data payload. A malicious or compromised server, or a machine-in-the-middle attacker, could cause large allocations, NegativeArraySizeException, or ArrayIndexOutOfBoundsException during XA recovery. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
CVE-2026-119280
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-20, CWE-789
Updated
2026-11-04
OSVDEBIAN-CVE-2026-119280 3.7

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, the MariaDbPoolConnection.recover() and MariaDbPoolPinnedConnection.recover() implementations trusted the gtrid_length and bqual_length columns returned by XA RECOVER. The methods allocated and split Xid byte arrays without validating the lengths against Xid.MAXGTRIDSIZE, Xid.MAXBQUALSIZE, or the actual data payload. A malicious or compromised server, or a machine-in-the-middle attacker, could cause large allocations, NegativeArraySizeException, or ArrayIndexOutOfBoundsException during XA recovery. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
DEBIAN-CVE-2026-119280
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVGHSA-4jq2-8v3c-97w8 3.7

MariaDB Connector/J: XA recover() trusted server-supplied gtrid and bqual lengths

Summary

XAResource.recover() in MariaDB Connector/J trusted the gtrid_length and bqual_length columns returned by XA RECOVER to allocate and split each Xid.

Details

MariaDbPoolConnection and MariaDbPoolPinnedConnection built each Xid of the recovery list by allocating new byte[gtrid_length] and new byte[bqual_length] and copying from the data column, without validating the lengths against the XA specification bounds (Xid.MAXGTRIDSIZE, Xid.MAXBQUALSIZE) or the actual payload. Negative or oversized lengths, or lengths that do not fit the data, ended in large allocations or unchecked exceptions (NegativeArraySizeException, ArrayIndexOutOfBoundsException) during recovery.

The fix validates the lengths before any allocation or copy and reports an invalid row as an XAException (XAER_RMFAIL).

Impact

Availability only, and limited to applications running XA recovery: a malicious or compromised server, or a MitM, can crash the recovery or drive large allocations. Exploitation requires control of the server side of the connection.

Credit

Reported by fg0x0

Record
GHSA-4jq2-8v3c-97w8
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-20, CWE-789
Updated
2026-11-02
OSVUBUNTU-CVE-2026-119280 3.7

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, the MariaDbPoolConnection.recover() and MariaDbPoolPinnedConnection.recover() implementations trusted the gtrid_length and bqual_length columns returned by XA RECOVER. The methods allocated and split Xid byte arrays without validating the lengths against Xid.MAXGTRIDSIZE, Xid.MAXBQUALSIZE, or the actual data payload. A malicious or compromised server, or a machine-in-the-middle attacker, could cause large allocations, NegativeArraySizeException, or ArrayIndexOutOfBoundsException during XA recovery. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.

Record
UBUNTU-CVE-2026-119280
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
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-119280 is a low vulnerability (CVSS 3.7) 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.31%, the 23rd percentile. Fixed in org.mariadb.jdbc:mariadb-java-client 3.3.7.

References

Show 15 moreShow less
MoveEnter Open