CVE-2026-119281
MariaDB Connector/J: Server could switch character_set_results away from UTF-8 without the client noticing
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, the connector assumed result bytes were UTF-8 but guarded only changes to character_set_client. It did not reject non-UTF-8 character_set_results changes and relied on the server's global session_track_system_variables configuration to report character-set changes. A malicious or compromised server, or a machine-in-the-middle attacker, could suppress tracking or change the result charset so application strings differed from the returned bytes, potentially defeating application-side validation or escaping that depended on the decoded values. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.
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: Server could switch character_set_results away from UTF-8 without the client noticing
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, the connector assumed result bytes were UTF-8 but guarded only changes to character_set_client. It did not reject non-UTF-8 character_set_results changes and relied on the server's global session_track_system_variables configuration to report character-set changes. A malicious or compromised server, or a machine-in-the-middle attacker, could suppress tracking or change the result charset so application strings differed from the returned bytes, potentially defeating application-side validation or escaping that depended on the decoded values. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.
- Record
CVE-2026-119281- 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-04
EUVDEUVD-2026-113388
5.9
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, the connector assumed result bytes were UTF-8 but guarded only changes to character_set_client. It did not reject non-UTF-8 character_set_results changes and relied on the server's global session_track_system_variables configuration to report character-set changes. A malicious or compromised server, or a machine-in-the-middle attacker, could suppress tracking or change the result charset so application strings differed from the returned bytes, potentially defeating application-side validation or escaping that depended on the decoded values. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.
- Record
EUVD-2026-113388- 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-04
GitHub AdvisoriesGHSA-grfq-r75j-rw9x
5.9
MariaDB Connector/J: Server could switch character_set_results away from UTF-8 without the client noticing
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_resultswas 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
- Record
GHSA-grfq-r75j-rw9x- 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. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, the connector assumed result bytes were UTF-8 but guarded only changes to character_set_client. It did not reject non-UTF-8 character_set_results changes and relied on the server's global session_track_system_variables configuration to report character-set changes. A malicious or compromised server, or a machine-in-the-middle attacker, could suppress tracking or change the result charset so application strings differed from the returned bytes, potentially defeating application-side validation or escaping that depended on the decoded values. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.
- Record
CVE-2026-119281- 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-04
OSV
5.9
MariaDB Connector/J: Server could switch character_set_results away from UTF-8 without the client noticing
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, the connector assumed result bytes were UTF-8 but guarded only changes to character_set_client. It did not reject non-UTF-8 character_set_results changes and relied on the server's global session_track_system_variables configuration to report character-set changes. A malicious or compromised server, or a machine-in-the-middle attacker, could suppress tracking or change the result charset so application strings differed from the returned bytes, potentially defeating application-side validation or escaping that depended on the decoded values. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.
- Record
CVE-2026-119281- 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-05
OSVDEBIAN-CVE-2026-119281
5.9
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, the connector assumed result bytes were UTF-8 but guarded only changes to character_set_client. It did not reject non-UTF-8 character_set_results changes and relied on the server's global session_track_system_variables configuration to report character-set changes. A malicious or compromised server, or a machine-in-the-middle attacker, could suppress tracking or change the result charset so application strings differed from the returned bytes, potentially defeating application-side validation or escaping that depended on the decoded values. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.
- Record
DEBIAN-CVE-2026-119281- 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-04
OSVGHSA-grfq-r75j-rw9x
5.9
MariaDB Connector/J: Server could switch character_set_results away from UTF-8 without the client noticing
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_resultswas 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
- Record
GHSA-grfq-r75j-rw9x- 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
OSVUBUNTU-CVE-2026-119281
5.9
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. From 3.0.0 until 3.3.7, 3.4.5, and 3.5.11, the connector assumed result bytes were UTF-8 but guarded only changes to character_set_client. It did not reject non-UTF-8 character_set_results changes and relied on the server's global session_track_system_variables configuration to report character-set changes. A malicious or compromised server, or a machine-in-the-middle attacker, could suppress tracking or change the result charset so application strings differed from the returned bytes, potentially defeating application-side validation or escaping that depended on the decoded values. This issue is fixed in versions 3.3.7, 3.4.5, and 3.5.11.
- Record
UBUNTU-CVE-2026-119281- 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-05
OSVopenSUSE-SU-2026:12401-1 No score
mariadb-java-client-3.5.11-1.1 on GA media
These are all security issues fixed in the mariadb-java-client-3.5.11-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12401-1- Updated
- 2026-11-04
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.mariadb.jdbc:mariadb-java-clientMaven |
3.0.0 up to 3.3.7 | 3.3.7 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.4.0 up to 3.4.5 | 3.4.5 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.5.0 up to 3.5.11 | 3.5.11 |
mariadb-connector-javaDebian:12 |
All versions, plus listed versions 2.7.15-12.7.6-13.5.10-1 |
None known |
mariadb-connector-javaDebian:13 |
All versions, plus listed versions 2.7.15-12.7.6-13.5.10-1 |
None known |
mariadb-connector-javaDebian:14 |
All versions, plus listed versions 2.7.15-12.7.6-13.5.10-1 |
None known |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.0.0 up to 3.3.7, plus listed versions 3.0.1-beta3.0.103.0.113.0.2-rc3.0.3 Show 19 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.43.3.53.3.6 |
3.3.7 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.4.0 up to 3.4.5, plus listed versions 3.4.13.4.23.4.33.4.4 |
3.4.5 |
org.mariadb.jdbc:mariadb-java-clientMaven |
3.5.0 up to 3.5.11, plus listed versions 3.5.13.5.103.5.23.5.33.5.4 Show 5 moreShow less3.5.53.5.63.5.73.5.83.5.9 |
3.5.11 |
mariadb-connector-javaUbuntu:18.04:LTS |
All versions, plus listed versions 2.3.0-1~18.04 |
None known |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
mariadb-connector-javaUbuntu:20.04:LTS |
All versions, plus listed versions 2.4.2-1build22.5.3-1 |
None known |
mariadb-connector-javaUbuntu:22.04:LTS |
All versions, plus listed versions 2.7.2-12.7.4-1 |
None known |
mariadb-connector-javaUbuntu:24.04:LTS |
All versions, plus listed versions 2.7.6-1 |
None known |
mariadb-connector-javaUbuntu:26.10 |
All versions, plus listed versions 2.7.6-1build1 |
None known |
mariadb-connector-javaUbuntu:26.04:LTS |
All versions, plus listed versions 2.7.6-12.7.6-1build1 |
None known |
mariadb-java-clientopenSUSE:Tumbleweed From an advisory covering 7 CVEs |
before 3.5.11-1.1 | 3.5.11-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | OSV | |
| affected, aliases, references | EUVD, NVD, OSV | |
| facts | CVE List | |
| 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-119281 is a medium vulnerability (CVSS 5.9) in Mariadb-corporation Mariadb-connector-j, published October 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.28%, the 20th percentile. Fixed in org.mariadb.jdbc:mariadb-java-client 3.3.7.
References
github.com/mariadb-corporation/mariadb-connector-j/security/advisories/GHSA-grfq-r75j-rw9x
github.com/mariadb-corporation/mariadb-connector-j/commit/af5e565eb171cfc66ea8e948ddc616abed0c4623
github.com/mariadb-corporation/mariadb-connector-j/commit/d51b968c1b795c73d24e0b3f960205b7bc82d423
github.com/mariadb-corporation/mariadb-connector-j/commit/fdabe74a7df6dce1d6c099f4d0ca1e2acc25919a
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.3.7
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.4.5
Show 15 moreShow less
github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.5.11
nvd.nist.gov/vuln/detail/CVE-2026-119281
github.com/advisories/GHSA-grfq-r75j-rw9x
github.com/CVEProject/cvelistV5/tree/main/cves/2026/119xxx/CVE-2026-119281.json
security-tracker.debian.org/tracker/CVE-2026-119281
github.com/mariadb-corporation/mariadb-connector-j
ubuntu.com/security/CVE-2026-119281
cve.org/CVERecord?id=CVE-2026-119281
suse.com/security/cve/CVE-2026-119210
suse.com/security/cve/CVE-2026-119276
suse.com/security/cve/CVE-2026-119277
suse.com/security/cve/CVE-2026-119278
suse.com/security/cve/CVE-2026-119279
suse.com/security/cve/CVE-2026-119280
suse.com/security/cve/CVE-2026-119281