GitHub Advisoryadvisory · Maven

GHSA-grfq-r75j-rw9x MariaDB Connector/J: Server could switch character_set_results away from UTF-8 without the client noticing

MEDIUM Published 2026-10-30 Modified 2026-10-30 Official page ↗
Aliases
CVE-2026-119281
Ecosystem
Maven
Packages
org.mariadb.jdbc:mariadb-java-client
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Weaknesses
CWE-838
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 MariaDB Connector/J decodes every result as UTF-8 and guards `character_set_client` against a change to another charset, but did not guard `character_set_results`, and relied on the server's global `session_track_system_variables` list to be told about charset changes at all. Details The connector learns about session variable changes through session tracking, and closes the connection when `character_set_client` is switched away from UTF-8, so that its UTF-8 decoding stays correct. Two gaps remained: • `character_set_results` was not guarded: a server could switch it to another charset, after which the bytes of every result were decoded as UTF-8 although encoded otherwise. • the list of tracked variables came from the server's global `session_track_system_variables`: a server configured, or made, not to track the character set variables could change them silently. The fix requests an explicit session tracking list that includes both character set variables whatever the server's global setting, and closes the connection when `character_set_results` is changed to a charset other than `utf8`, `utf8mb3` or `utf8mb4`, as it already did for `character_set_client`. Impact Integrity: a malicious or compromised server, or a MitM, can make the strings an application reads differ from the bytes the server returned (inappropriate encoding for the output context), which can defeat application-side validation or escaping built on those values. Exploitation requires control of the server side of the connection; no confidentiality or availability impact. Credit Reported by fg0x0

Related

Alias · CVE (1)

  • CVE-2026-119281 MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. vulnerability

Weakness · CWE (1)

  • CWE-838 Inappropriate Encoding for Output Context weakness

References