GHSA-4jq2-8v3c-97w8
Dashboard / Vulnerabilities / GHSA-4jq2-8v3c-97w8
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
References: https://github.com/mariadb-corporation/mariadb-connector-j/security/advisories/GHSA-4jq2-8v3c-97w8, https://nvd.nist.gov/vuln/detail/CVE-2026-119280, https://github.com/mariadb-corporation/mariadb-connector-j/commit/280efcfb4390055858fa2dd12b722d85a6a13ab8, https://github.com/mariadb-corporation/mariadb-connector-j/commit/47aba5a23548b35191865a428cc674316b95ee47, https://github.com/mariadb-corporation/mariadb-connector-j/commit/e9d767103bfd178ed57caa4cb97bbfbf7e54da6b, https://github.com/mariadb-corporation/mariadb-connector-j, https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.3.7, https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.4.5, https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.5.11
Affected packages
Package
Name: org.mariadb.jdbc:mariadb-java-client
Purl: pkg:maven/org.mariadb.jdbc/mariadb-java-client
Affected ranges
Type: ECOSYSTEM
Events:
