GHSA-grfq-r75j-rw9x - 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_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
MEDIUM
Severity & confidence
Source severitymedium
Platform severitymedium
Confidencehigh
Exploitationunknown
CVSS5.9
Affected
Vendorsorg.mariadb.jdbc:mariadb-java-client
Productsorg.mariadb.jdbc:mariadb-java-client
Reporting sources (2)
GitHub Security Advisories
NIST NVD - National Vulnerability Database
Timeline & provenance
Published2026-10-30T22:59:45
Last updated2026-11-09T09:35:06
Ingested2026-10-30T23:16:10
FreshnessNEAR-REAL-TIME
Threat typeadvisory
Recommended action
Review the advisory and upgrade affected packages to the first patched version.
Next steps
- Identify affected systems in your environment.
- Apply the vendor patch or mitigation guidance.
- Review logs for indicators described in the advisory.
- Follow the affected vendor/product to track updates.
Confidence explanation
Reported by a government or cert-grade source (CISA, NCSC, NVD, ENISA, MSRC).
Source type: vendor ยท Original: GitHub Security Advisories