CVSS 3.7 LOW

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

Mã khác
GHSA-4jq2-8v3c-97w8
Công bố
Cập nhật
Lần đầu thấy
Nguồn
GitHub Advisory, NVD, CVE.org, OSV.dev

Mô tả

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

Điểm và phân loại

CVSS
3.7 LOW v3.1
Nguồn điểm
NVD
Mức độ (theo nguồn)
LOW
EPSS
0.31%

Vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

Ảnh hưởng

Package Bản bị ảnh hưởng Bản đã sửa
maven org.mariadb.jdbc:mariadb-java-client >= 3.0.0, < 3.3.7 3.3.7
maven org.mariadb.jdbc:mariadb-java-client >= 3.4.0, < 3.4.5 3.4.5
maven org.mariadb.jdbc:mariadb-java-client >= 3.5.0, < 3.5.11 3.5.11

Sản phẩm

  • mariadb-corporation mariadb-connector-j

Vì sao bị lọc

  • CVSS 3.7 < 8.0 và không thuộc CISA KEV

Loại tác động

Không nhận ra loại tác động nào từ CWE, vector hay mô tả.

Dữ liệu riêng của nguồn

CVE.org · Đơn vị cấp mã
GitHub_M
CVE.org · SSVC
Tự động hoá được: no · Khai thác: none · Tác động kỹ thuật: partial
OSV.dev · ID
GHSA-4jq2-8v3c-97w8

Tham khảo