Description
MariaDB Connector/R2DBC is a non-blocking MariaDB and MySQL client implemented in Java. Prior to 1.4.1, org.mariadb:r2dbc-mariadb encodes and decodes all character data under the assumption that the connection character set is UTF-8. A server can announce a mid-session change to character_set_client through the OK-packet session-state-tracking mechanism, including through SET NAMES executed by a stored routine or trigger, server configuration, or a hostile or man-in-the-middle server. If the new character set is not UTF-8, the driver continues to exchange UTF-8 while the server interprets the same bytes under a different encoding, causing silent data corruption and a client/server charset-confusion mismatch that can defeat byte-wise quoting or escaping. The fix accepts only utf8, utf8mb3, or utf8mb4 after initialization; any other value raises R2dbcNonTransientResourceException with SQLState 08000 and closes the connection. This issue is fixed in version 1.4.1.
Published: 2026-08-28
Score: 5.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

MariaDB Connector/R2DBC assumes that all character data exchanged with the server uses UTF‑8 encoding. If the server changes the character_set_client value mid‑session—via SET NAMES, a stored routine, a trigger, or a malicious server—the driver continues to encode and decode using UTF‑8 while the server interprets the same bytes as another charset. This charset‑confusion can corrupt data silently and may also undermine proper quoting or escaping of output, potentially enabling injection‑like payloads to be misinterpreted. Based on the description, it appears that improper encoding could potentially lead to injection‑like payloads, though this risk is not explicitly documented.

Affected Systems

The vulnerability affects MariaDB Connector/R2DBC provided by MariaDB Corporation and the org.mariadb:r2dbc-mariadb library. All releases prior to version 1.4.1 are impacted; version 1.4.1 introduces a check that accepts only utf8, utf8mb3, or utf8mb4 after initialization, and rejects any other charset by raising an R2dbcNonTransientResourceException and closing the connection.

Risk and Exploitability

The CVSS score of 5.9 places the issue in a moderate severity range. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog, suggesting limited known exploitation activity. However, an attacker with control over the MariaDB server or capable of acting as a man‑in‑the‑middle could trigger a charset change mid‑session, forcing the driver to continue using UTF‑8. This could lead to corrupted data. The exploit therefore requires privileged access to the database server or the ability to intercept the traffic, making it unlikely for unauthenticated external attackers but a concern for compromised or malicious insiders.

Generated by OpenCVE AI on August 29, 2026 at 00:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade MariaDB Connector/R2DBC to 1.4.1 or later, which validates the client character set and aborts the session for unsupported values.
  • Configure the MariaDB server to enforce UTF‑8 for all client connections and disable or remove stored routines, triggers, or configuration changes that alter character_set_client during a session.
  • Monitor database logs for R2dbcNonTransientResourceException errors indicating charset conflicts, and review application data for signs of silent corruption to detect any incidents early.

Generated by OpenCVE AI on August 29, 2026 at 00:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5rqc-86vf-g8r2 org.mariadb:r2dbc-mariadb has Inappropriate Encoding for Output Context and Improper Encoding or Escaping of Output
History

Fri, 28 Aug 2026 23:00:00 +0000

Type Values Removed Values Added
Description MariaDB Connector/R2DBC is a non-blocking MariaDB and MySQL client implemented in Java. Prior to 1.4.1, org.mariadb:r2dbc-mariadb encodes and decodes all character data under the assumption that the connection character set is UTF-8. A server can announce a mid-session change to character_set_client through the OK-packet session-state-tracking mechanism, including through SET NAMES executed by a stored routine or trigger, server configuration, or a hostile or man-in-the-middle server. If the new character set is not UTF-8, the driver continues to exchange UTF-8 while the server interprets the same bytes under a different encoding, causing silent data corruption and a client/server charset-confusion mismatch that can defeat byte-wise quoting or escaping. The fix accepts only utf8, utf8mb3, or utf8mb4 after initialization; any other value raises R2dbcNonTransientResourceException with SQLState 08000 and closes the connection. This issue is fixed in version 1.4.1.
Title MariaDB Connector/R2DBC: Inappropriate Encoding for Output Context and Improper Encoding or Escaping of Output in org.mariadb:r2dbc-mariadb
Weaknesses CWE-116
CWE-838
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-28T22:48:41.592Z

Reserved: 2026-06-17T16:44:40.995Z

Link: CVE-2026-55859

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-28T23:17:09.007

Modified: 2026-08-28T23:17:09.007

Link: CVE-2026-55859

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-29T00:45:04Z

Weaknesses
  • CWE-116

    Improper Encoding or Escaping of Output

  • CWE-838

    Inappropriate Encoding for Output Context