CVSS 5.9 MEDIUM Truy cập trái phép

MariaDB Connector/J: Rogue server can drive large heap allocations from server-declared lengths in OK packets

Mã khác
GHSA-h599-m3w5-9m7x
Công bố
Cập nhật
Lần đầu thấy
Nguồn
GitHub Advisory, NVD, CVE.org, OSV.dev

Mô tả

Summary

MariaDB Connector/J sized heap allocations from lengths declared by the server
in OK packets before checking that those lengths fit in the packet. A rogue or
MitM server can make the client allocate megabytes from a packet of a few bytes.

Details

When CLIENT_SESSION_TRACK is negotiated (the default), an OK packet carries an
info field followed by session-state blocks, each tracked variable being sent as a
length-encoded name and value. OkPacket.parse() and parseWithInfo() allocated
new byte[len] for the info field, the variable name and the value with the
server-declared len, then copied the packet data into it. The copy failed with an
ArrayIndexOutOfBoundsException when the packet was shorter, but only after the
allocation had taken place.

A server-declared length of 8 MiB in an 18-byte packet was enough to trigger an
8 MiB allocation; the integer-range validation of length-encoded values does not
help, since such lengths are valid positive integers.

The fix validates every server-declared length against the remaining packet bytes
before any allocation (ReadableByteBuf.checkLength() and a bounded
readBytes(int)), and stops reading the session state at the first inconsistent
entry.

Impact

Availability only: a malicious or compromised server, or a MitM, can drive
attacker-controlled heap allocations on every OK packet, creating GC pressure up to
OutOfMemoryError in the client application. Exploitation requires control of the
server side of the connection; no authentication bypass, confidentiality or
integrity impact.

Credit

Reported by fg0x0

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

CVSS
5.9 MEDIUM v3.1
Nguồn điểm
NVD
Mức độ (theo nguồn)
MEDIUM
EPSS
0.35%

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

Ả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 5.9 < 8.0 và không thuộc CISA KEV

Loại tác động

Truy cập trái phép
từ khoá "authentication bypass"

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-h599-m3w5-9m7x

Tham khảo