CVE-2026-55858
MariaDB Connector/J: Inappropriate Encoding for Output Context in org.mariadb.jdbc:mariadb-java-client
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. Prior to 2.7.14, 3.3.5, 3.4.3, and 3.5.9, the connector encodes and decodes protocol text and performs client-side escaping under the assumption that the connection character set is UTF-8. The server can report a mid-session change to character_set_client through OK-packet session-state tracking, including a change caused by SET NAMES, a stored routine or trigger, server configuration, or a hostile server. If character_set_client changes to a non-UTF-8 value, the driver continues to read and write UTF-8 while the server interprets the same bytes under another 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 causes SQLException with SQLState 08000 and closes the connection. This issue is fixed in versions 2.7.14, 3.3.5, 3.4.3, and 3.5.9.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.9
MariaDB Connector/J: Inappropriate Encoding for Output Context in org.mariadb.jdbc:mariadb-java-client
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. Prior to 2.7.14, 3.3.5, 3.4.3, and 3.5.9, the connector encodes and decodes protocol text and performs client-side escaping under the assumption that the connection character set is UTF-8. The server can report a mid-session change to character_set_client through OK-packet session-state tracking, including a change caused by SET NAMES, a stored routine or trigger, server configuration, or a hostile server. If character_set_client changes to a non-UTF-8 value, the driver continues to read and write UTF-8 while the server interprets the same bytes under another 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 causes SQLException with SQLState 08000 and closes the connection. This issue is fixed in versions 2.7.14, 3.3.5, 3.4.3, and 3.5.9.
- Record
CVE-2026-55858- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-838
- Updated
- 2026-11-02
EUVDEUVD-2026-68021
5.9
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. Prior to 2.7.14, 3.3.5, 3.4.3, and 3.5.9, the connector encodes and decodes protocol text and performs client-side escaping under the assumption that the connection character set is UTF-8. The server can report a mid-session change to character_set_client through OK-packet session-state tracking, including a change caused by SET NAMES, a stored routine or trigger, server configuration, or a hostile server. If character_set_client changes to a non-UTF-8 value, the driver continues to read and write UTF-8 while the server interprets the same bytes under another 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 causes SQLException with SQLState 08000 and closes the connection. This issue is fixed in versions 2.7.14, 3.3.5, 3.4.3, and 3.5.9.
- Record
EUVD-2026-68021- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-xvr9-35cr-46v9
5.9
org.mariadb.jdbc:mariadb-java-client has Inappropriate Encoding for Output Context
Summary
The connector encodes and decodes all character data assuming the connection character set is UTF-8. A server can change character_set_client mid-session to a non-UTF-8 charset, after which the driver and server interpret the same bytes under different encodings, causing silent data corruption and a client/server charset-confusion mismatch.
Details
The driver encodes and decodes all character data on the assumption that the connection character set is UTF-8. Charset can be changed by commands like SET NAMES... commands.
If the new charset is not UTF-8, the driver continues to read and write UTF-8 while the server interprets the same bytes under a different encoding. The result is silent data corruption and a client/server charset-confusion mismatch. Charset confusion of this kind is also the primitive that can defeat byte-wise quoting/escaping when client and server disagree on a multi-byte encoding.
Impact
Silent data corruption and a client/server encoding mismatch once the connection's charset diverges from UTF-8. Because the mismatch undermines the assumption that quoting/escaping operates on UTF-8 bytes, it belongs to the charset-confusion class that can lead to SQL injection.
Patches
Fixed in 2.7.14, 3.3.5, 3.4.3, and 3.5.9. Upgrade to the patched release on your branch (3.5.x → 3.5.9, 3.4.x → 3.4.3, 3.0/3.1/3.2/3.3.x → 3.3.5, 2.x → 2.7.14). Once the connection is fully initialized, any subsequent charset change to a value that is not utf8 / utf8mb3 / utf8mb4 is rejected: the driver raises a SQLException with SQLState 08000 (connection exception) and closes the connection rather than continuing to exchange data under a mismatched encoding.
Workarounds
There is no reliable application-level workaround.
Credit
Reported by Yalguun Tumenkhuu (@fg0x0).
- Record
GHSA-xvr9-35cr-46v9- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-838
- Updated
- 2026-11-02
NVD
5.9
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. Prior to 2.7.14, 3.3.5, 3.4.3, and 3.5.9, the connector encodes and decodes protocol text and performs client-side escaping under the assumption that the connection character set is UTF-8. The server can report a mid-session change to character_set_client through OK-packet session-state tracking, including a change caused by SET NAMES, a stored routine or trigger, server configuration, or a hostile server. If character_set_client changes to a non-UTF-8 value, the driver continues to read and write UTF-8 while the server interprets the same bytes under another 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 causes SQLException with SQLState 08000 and closes the connection. This issue is fixed in versions 2.7.14, 3.3.5, 3.4.3, and 3.5.9.
- Record
CVE-2026-55858- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-838
- Updated
- 2026-11-02
OSV
5.9
MariaDB Connector/J: Inappropriate Encoding for Output Context in org.mariadb.jdbc:mariadb-java-client
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. Prior to 2.7.14, 3.3.5, 3.4.3, and 3.5.9, the connector encodes and decodes protocol text and performs client-side escaping under the assumption that the connection character set is UTF-8. The server can report a mid-session change to character_set_client through OK-packet session-state tracking, including a change caused by SET NAMES, a stored routine or trigger, server configuration, or a hostile server. If character_set_client changes to a non-UTF-8 value, the driver continues to read and write UTF-8 while the server interprets the same bytes under another 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 causes SQLException with SQLState 08000 and closes the connection. This issue is fixed in versions 2.7.14, 3.3.5, 3.4.3, and 3.5.9.
- Record
CVE-2026-55858- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-838
- Updated
- 2026-11-02
OSVGHSA-xvr9-35cr-46v9
5.9
org.mariadb.jdbc:mariadb-java-client has Inappropriate Encoding for Output Context
Summary
The connector encodes and decodes all character data assuming the connection character set is UTF-8. A server can change character_set_client mid-session to a non-UTF-8 charset, after which the driver and server interpret the same bytes under different encodings, causing silent data corruption and a client/server charset-confusion mismatch.
Details
The driver encodes and decodes all character data on the assumption that the connection character set is UTF-8. Charset can be changed by commands like SET NAMES... commands.
If the new charset is not UTF-8, the driver continues to read and write UTF-8 while the server interprets the same bytes under a different encoding. The result is silent data corruption and a client/server charset-confusion mismatch. Charset confusion of this kind is also the primitive that can defeat byte-wise quoting/escaping when client and server disagree on a multi-byte encoding.
Impact
Silent data corruption and a client/server encoding mismatch once the connection's charset diverges from UTF-8. Because the mismatch undermines the assumption that quoting/escaping operates on UTF-8 bytes, it belongs to the charset-confusion class that can lead to SQL injection.
Patches
Fixed in 2.7.14, 3.3.5, 3.4.3, and 3.5.9. Upgrade to the patched release on your branch (3.5.x → 3.5.9, 3.4.x → 3.4.3, 3.0/3.1/3.2/3.3.x → 3.3.5, 2.x → 2.7.14). Once the connection is fully initialized, any subsequent charset change to a value that is not utf8 / utf8mb3 / utf8mb4 is rejected: the driver raises a SQLException with SQLState 08000 (connection exception) and closes the connection rather than continuing to exchange data under a mismatched encoding.
Workarounds
There is no reliable application-level workaround.
Credit
Reported by Yalguun Tumenkhuu (@fg0x0).
- Record
GHSA-xvr9-35cr-46v9- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-838
- Updated
- 2026-11-02
OSVRHLW-2026-7e41b237dd570c9f
5.9
Lightwell Security Advisory: mariadb-java-client 3.5.8.rhlw-00003
Red Hat Lightwell has released org.mariadb.jdbc:mariadb-java-client 3.5.8.rhlw-00003 with backported fixes for CVE-2026-55856, CVE-2026-55857, and CVE-2026-55858.
CVE-2026-55856: MariaDB Connector/J: Cleartext password disclosure to a MITM on the initial-handshake
CVE-2026-55857: MariaDB Connector/J: Cleartext Transmission of Sensitive Information and Insufficiently Protected Credentials
CVE-2026-55858: MariaDB Connector/J: Inappropriate Encoding for Output Context in org.mariadb.jdbc:mariadb-java-client
This patched artifact is a drop-in replacement for org.mariadb.jdbc:mariadb-java-client 3.5.8 from Maven Central.
- Record
RHLW-2026-7e41b237dd570c9f- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.mariadb.jdbc:mariadb-java-clientMaven |
before 2.7.14 | 2.7.14 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.0.0 up to 3.3.5 | 3.3.5 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.4.0 up to 3.4.3 | 3.4.3 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.5.0 up to 3.5.9 | 3.5.9 |
org.mariadb.jdbc:mariadb-java-clientMaven |
before 2.7.14, plus listed versions 1.1.101.1.71.1.81.1.91.2.0 Show 45 moreShow less1.2.11.2.21.2.31.3.01.3.0-beta-11.3.0-beta-21.3.11.3.21.3.31.3.41.3.51.3.61.3.71.4.01.4.0-beta-11.4.11.4.21.4.31.4.41.4.51.4.61.5.0-RC11.5.1-RC1.5.21.5.31.5.41.5.51.5.61.5.71.5.81.5.91.6.01.6.11.6.21.6.31.6.41.6.51.7.01.7.11.7.21.7.31.7.41.7.51.7.61.8.0 |
2.7.14 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.0.0 up to 3.3.5, plus listed versions 3.0.1-beta3.0.103.0.113.0.2-rc3.0.3 Show 17 moreShow less3.0.43.0.53.0.63.0.73.0.83.0.93.1.03.1.13.1.23.1.33.1.43.2.03.3.03.3.13.3.23.3.33.3.4 |
3.3.5 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.4.0 up to 3.4.3, plus listed versions 3.4.13.4.2 |
3.4.3 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.5.0 up to 3.5.9, plus listed versions 3.5.13.5.23.5.33.5.43.5.53.5.63.5.73.5.8 |
3.5.9 |
org.mariadb.jdbc:mariadb-java-clientRed Hat Lightwell:Maven From an advisory covering 3 CVEs |
before 3.5.8.rhlw-00003, plus listed versions 1.1.101.1.71.1.81.1.91.2.0 Show 45 moreShow less1.2.11.2.21.2.31.3.01.3.0-beta-11.3.0-beta-21.3.11.3.21.3.31.3.41.3.51.3.61.3.71.4.01.4.0-beta-11.4.11.4.21.4.31.4.41.4.51.4.61.5.0-RC11.5.1-RC1.5.21.5.31.5.41.5.51.5.61.5.71.5.81.5.91.6.01.6.11.6.21.6.31.6.41.6.51.7.01.7.11.7.21.7.31.7.41.7.51.7.61.8.0 |
3.5.8.rhlw-00003 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-55858 is a medium vulnerability (CVSS 5.9) in Mariadb-corporation Mariadb-connector-j, published August 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.87%, the 59th percentile. Fixed in org.mariadb.jdbc:mariadb-java-client 2.7.14.
References
github.com/mariadb-corporation/mariadb-connector-j/security/advisories/GHSA-xvr9-35cr-46v9
github.com/mariadb-corporation/mariadb-connector-j/commit/300716bef1e1d0370a41be7863b88aa2d55fbb69
github.com/mariadb-corporation/mariadb-connector-j/commit/7b3c69221b5463ee03472654040b3f6b9e5329c7
github.com/mariadb-corporation/mariadb-connector-j/commit/8cfd9df697372ad4ed09fe87a34b34babb6d43d6
github.com/mariadb-corporation/mariadb-connector-j/commit/c555c9b477521be0c35c3a5461f9f46681553607
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/2.7.14
Show 20 moreShow less
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.3.5
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.4.3
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.5.9
jira.mariadb.org/browse/CONJ-1317
github.com/advisories/GHSA-xvr9-35cr-46v9
github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55858.json
nvd.nist.gov/vuln/detail/CVE-2026-55858
github.com/mariadb-corporation/mariadb-connector-j
github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55856.json
github.com/mariadb-corporation/mariadb-connector-j/security/advisories/GHSA-g9jj-cgmh-9f38
nvd.nist.gov/vuln/detail/CVE-2026-55856
github.com/mariadb-corporation/mariadb-connector-j/commit/149ec6a626376214966c01f42d48be1b80d06056
github.com/mariadb-corporation/mariadb-connector-j/commit/d90b9872322c76b05a48219be66bff1d33102f8a
github.com/advisories/GHSA-g9jj-cgmh-9f38
github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55857.json
github.com/mariadb-corporation/mariadb-connector-j/security/advisories/GHSA-qxvw-fvwx-5cp7
nvd.nist.gov/vuln/detail/CVE-2026-55857
github.com/mariadb-corporation/mariadb-connector-j/commit/a8599ab1cbe4b8818ea945bf56a4e012c302b388
github.com/mariadb-corporation/mariadb-connector-j/commit/f4a727c764d1cf48fd0c3d5e301dfa92503e0a58
github.com/advisories/GHSA-qxvw-fvwx-5cp7
Left out here: 127 versions. The JSON record has them.