GHSA-h599-m3w5-9m7x

    Dashboard / Vulnerabilities / GHSA-h599-m3w5-9m7x

    GHSA-h599-m3w5-9m7x

    Published: 30 Oct 2026Last Modified: 30 Oct 2026

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

    Details: ## 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

    Affected packages

    Package

    Name: org.mariadb.jdbc:mariadb-java-client

    Purl: pkg:maven/org.mariadb.jdbc/mariadb-java-client

    Affected ranges

    Type: ECOSYSTEM

    Events:

    Introduced- 3.0.0
    Fixed -3.3.7

    Affected versions

    3.0.1-beta
    3.0.10
    3.0.11
    3.0.2-rc
    3.0.3
    3.0.4
    3.0.5
    3.0.6
    3.0.7
    3.0.8
    3.0.9

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High