Vulnerability GHSA-4jq2-8v3c-97w8

Low Risk
LOW RISK
CVSS Score: 3.7
Score Range: < 4.0
Low severity vulnerabilities (CVSS < 4.0). Hygiene issues that can accumulate but pose lower immediate risk.
4 hours ago
October 30, 2026 at 11:00 PM UTC
MariaDB Connector/J: XA recover() trusted server-supplied gtrid and bqual lengths
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.10
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.10

Summary

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

Details

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

Related Vulnerabilities

Other vulnerabilities affecting the same packages

Medium Risk
4 hours ago
MariaDB Connector/J: Rogue server can drive large heap allocations from server-declared lengths in OK packets
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.10 GHSA-h599-m3w5-9m7x
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.10 GHSA-h599-m3w5-9m7x
Medium Risk
4 hours ago
MariaDB Connector/J: Length-encoded integers larger than Integer.MAX_VALUE were truncated before being used as lengths
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.9 GHSA-797x-p4mc-jwpm
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.9 GHSA-797x-p4mc-jwpm
Medium Risk
4 hours ago
MariaDB Connector/J: LOAD DATA LOCAL INFILE file check could be satisfied by text inside quoted identifiers, letting a malicious server read client files
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.10 GHSA-fhx5-2xqw-2cgm
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.10 GHSA-fhx5-2xqw-2cgm
Medium Risk
4 hours ago
MariaDB Connector/J: Server could switch character_set_results away from UTF-8 without the client noticing
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.10 GHSA-grfq-r75j-rw9x
3.0.1-beta - 3.3.6 and 3.4.0 - 3.4.4 and 3.5.0 - 3.5.10 GHSA-grfq-r75j-rw9x
Low Risk
1 month ago
MariaDB Connector/J does not enforce allowLocalInfile=false on server-initiated LOCAL INFILE requests
1.1.7 - 2.7.13 and 3.0.1-beta - 3.3.4 and 3.4.0 - 3.4.2 and 3.5.0 - 3.5.8 GHSA-wxmm-q36w-r9xj
1.1.7 - 2.7.13 and 3.0.1-beta - 3.3.4 and 3.4.0 - 3.4.2 and 3.5.0 - 3.5.8 GHSA-wxmm-q36w-r9xj
View all vulnerabilities for these packages

Timeline

Published
4 hours ago
October 30, 2026 at 11:00 PM UTC
Fixed (3.3.7)
Unknown
Unknown
Fixed (3.4.5)
Unknown
Unknown
Fixed (3.5.11)
Unknown
Unknown
Last Modified
4 hours ago
October 30, 2026 at 11:15 PM UTC