---
id: CVE-2026-119279
aliases:
  - GHSA-797x-p4mc-jwpm
title: >-
  MariaDB Connector/J: Length-encoded integers larger than Integer.MAX_VALUE
  were truncated before being used as lengths
summary: >-
  MariaDB Connector/J: Length-encoded integers larger than Integer.MAX_VALUE
  were truncated before being used as lengths
severity: medium
cvss: 5.9
cwe:
  - CWE-130
  - CWE-190
vendor: mariadb
product: 'org.mariadb.jdbc:mariadb-java-client'
ecosystem: maven
affected:
  - 'org.mariadb.jdbc:mariadb-java-client >= 3.0.0, < 3.3.7'
  - 'org.mariadb.jdbc:mariadb-java-client >= 3.4.0, < 3.4.5'
  - 'org.mariadb.jdbc:mariadb-java-client >= 3.5.0, < 3.5.10'
patched:
  - 'org.mariadb.jdbc:mariadb-java-client 3.3.7'
  - 'org.mariadb.jdbc:mariadb-java-client 3.4.5'
  - 'org.mariadb.jdbc:mariadb-java-client 3.5.10'
published: '2026-10-30'
updated: '2026-10-30'
sourceUpdated: '2026-10-30T23:00:08Z'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-797x-p4mc-jwpm'
references:
  - url: >-
      https://github.com/mariadb-corporation/mariadb-connector-j/security/advisories/GHSA-797x-p4mc-jwpm
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-119279'
  - url: >-
      https://github.com/mariadb-corporation/mariadb-connector-j/commit/30d4a883377a9b7762e02ee2c60d54567032ab99
  - url: >-
      https://github.com/mariadb-corporation/mariadb-connector-j/commit/bfd9f5ad666a6f7f5401a5b78f2ac2fbd6df8667
  - url: >-
      https://github.com/mariadb-corporation/mariadb-connector-j/commit/dbbadc3e215c47bdb913ddf50739ada09a7f23ea
  - url: >-
      https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.3.7
  - url: >-
      https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.4.5
  - url: >-
      https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.5.10
  - url: 'https://github.com/advisories/GHSA-797x-p4mc-jwpm'
tags:
  - ghsa
  - maven
epss: 0.00351
epssPercentile: 0.28744
ingestedAt: '2026-10-30T23:11:25.781Z'
---

## Overview

## Summary

MariaDB Connector/J narrowed 8-byte length-encoded integers received from the
server to `int` without validation. A rogue or MitM server can send a value above
`Integer.MAX_VALUE` whose truncation becomes a negative or arbitrary length.

## Details

The protocol encodes lengths as length-encoded integers, whose 8-byte form the
decoder (`readLength()` and `readIntLengthEncodedNotNull()`) returned as
`(int) readLong()`. A value above `Integer.MAX_VALUE` therefore wrapped to a
negative or unrelated `int`, used afterwards as a length to size allocations or
reads, which ended in `NegativeArraySizeException`, out-of-bounds exceptions or
oversized allocations.

The fix rejects any length-encoded value that does not fit a non-negative `int`
with an explicit error.

## Impact

Availability only: a malicious or compromised server, or a MitM, can crash the
client's connection handling with unchecked exceptions or drive oversized
allocations. Exploitation requires control of the server side of the connection;
no authentication bypass, confidentiality or integrity impact.

## Credit

Reported by fg0x0

## Affected packages

- `org.mariadb.jdbc:mariadb-java-client >= 3.0.0, < 3.3.7`
- `org.mariadb.jdbc:mariadb-java-client >= 3.4.0, < 3.4.5`
- `org.mariadb.jdbc:mariadb-java-client >= 3.5.0, < 3.5.10`

## Remediation

Upgrade to a patched release:

- `org.mariadb.jdbc:mariadb-java-client 3.3.7`
- `org.mariadb.jdbc:mariadb-java-client 3.4.5`
- `org.mariadb.jdbc:mariadb-java-client 3.5.10`
