GitHub Advisoryadvisory · Maven
GHSA-4jq2-8v3c-97w8 MariaDB Connector/J: XA recover() trusted server-supplied gtrid and bqual lengths
LOW
Official page ↗
- Aliases
- CVE-2026-119280
- Ecosystem
- Maven
- Packages
- org.mariadb.jdbc:mariadb-java-client
- Severity
- Low
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
- Weaknesses
- CWE-20, CWE-789
- Reviewed
- 2026-10-30
Affected packages
• Maven org.mariadb.jdbc:mariadb-java-client: >= 3.0.0, < 3.3.7 → fixed in 3.3.7
• Maven org.mariadb.jdbc:mariadb-java-client: >= 3.4.0, < 3.4.5 → fixed in 3.4.5
• Maven org.mariadb.jdbc:mariadb-java-client: >= 3.5.0, < 3.5.11 → fixed in 3.5.11
Description
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
Alias · CVE (1)
- CVE-2026-119280 MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. vulnerability
References
- https://github.com/mariadb-corporation/mariadb-connector-j/security/advisories/GHSA-4jq2-8v3c-97w8 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-119280 advisory
- https://github.com/mariadb-corporation/mariadb-connector-j/commit/280efcfb4390055858fa2dd12b722d85a6a13ab8 web
- https://github.com/mariadb-corporation/mariadb-connector-j/commit/47aba5a23548b35191865a428cc674316b95ee47 web
- https://github.com/mariadb-corporation/mariadb-connector-j/commit/e9d767103bfd178ed57caa4cb97bbfbf7e54da6b web
- https://github.com/mariadb-corporation/mariadb-connector-j package
- https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.3.7 web
- https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.4.5 web
- https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.5.11 web