Skip to main content

MariaDB Connector/C CVE-2026-107819

| EUVDEUVD-2026-95920 MEDIUM
Improper Validation of Certificate with Host Mismatch (CWE-297)
2026-10-09 GitHub_M
5.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain MITM network position between app and DB
  2. Delivery
    Present trusted cert valid for a different hostname
  3. Exploit
    Client fails to reject hostname mismatch
  4. Execution
    Trigger auth switch to mysql_clear_password
  5. Impact
    Capture cleartext database password

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate host validation
Exploitation Conditions

Exploitation requires ALL of the following concrete conditions: (1) the client uses MariaDB Connector/C libmariadb version 3.4.1 through 3.4.9 in Zero-Configuration SSL mode - i.e. no ssl_ca, ssl_capath, ssl_crl, ssl_crlpath, or TLS fingerprint (tls_fp / tls_fp_list) is configured, which is precisely the set of options the fix now checks; (2) the attacker holds a certificate that passes CA trust validation but is issued for a hostname other than the target server; (3) the attacker occupies an active man-in-the-middle position on the TLS path; and (4) the connection undergoes an authentication-plugin switch so the attacker can request the non-hashing mysql_clear_password plugin. Limiting factors that reduce realistic risk: the active-MITM requirement, the need for a validly-trusted certificate for an unrelated hostname, and the dependence on the zero-config SSL path (deployments that explicitly pin a CA, CRL, or fingerprint are not affected). Non-local connections only - the fix exempts localhost/127.0.0.1/::1 from hostname verification.

Impact

This is a genuine but conditional credential-disclosure flaw (CWE-297, improper host mismatch validation), best characterized as moderate rather than urgent. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N = 5.9) is internally consistent with the description: network-reachable (AV:N), no privileges needed by the attacker (PR:N), no victim interaction (UI:N), but high complexity (AC:H) because exploitation requires an active man-in-the-middle position AND a certificate that is valid for some other hostname, plus the victim running in Zero-Configuration SSL mode. Impact is confidentiality-only (C:H / I:N / A:N) - the leaked cleartext database password. Exploitation status: no public exploit identified at time of analysis - the only GitHub source code is the remediation commit (e8c0a16), NOT weaponized exploit code, so POC availability should not be counted. No CISA KEV listing and no EPSS score were provided in the input, so real-world exploitation frequency cannot be quantified from these signals; the AC:H MITM precondition strongly suggests any real abuse would be targeted, not opportunistic or wormable. Net: a real issue worth patching on the normal cycle, not a drop-everything emergency, absent evidence of active exploitation.

Exploit ScenarioDerived

An attacker who has achieved a man-in-the-middle position on the network path between an application and its MariaDB/MySQL server, and who holds a certificate that chains to a trusted CA but is issued for a different hostname, intercepts a client connection running in Zero-Configuration SSL mode. Because the libmariadb auth-switch logic validates certificate trust but fails to reject the TLS hostname mismatch before choosing a non-hashing plugin, the attacker requests mysql_clear_password and the client transmits the cleartext database password inside the attacker-controlled TLS tunnel. No public exploit exists; the mechanism is documented only by the vendor fix commit.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 09, 2026

Credential disclosure in MariaDB Connector/C (libmariadb) 3.4.1 through 3.4.9 lets an active man-in-the-middle attacker who holds a validly-trusted certificate issued for a different hostname capture the cleartext database password: the library checked certificate trust, but failed to reject a TLS hostname mismatch before proceeding with a non-hashing authentication plugin switch, allowing the attacker to request mysql_clear_password over the attacker-controlled TLS session. Exploitation requires the client to run in Zero-Configuration SSL mode (no ssl_ca, ssl_capath, ssl_crl, ssl_crlpath, tls_fp, or tls_fp_list configured) on a non-local connection, plus a MITM position and a trusted-but-wrong-hostname certificate, so this is a genuine but conditional CWE-297 flaw rated moderate rather than urgent (CVSS 5.9, AC:H); no public exploit identified at time of analysis. It is fixed in version 3.4.10, and other MariaDB connectors are not affected.

RemediationAI

Vendor-released patch: upgrade MariaDB Connector/C to version 3.4.10 or later (https://github.com/mariadb-corporation/mariadb-connector-c/releases/tag/v3.4.10), which is the fix released via GHSA-fmq9-qjxj-qpf7 and CONC-846; because libmariadb is usually statically or dynamically embedded, rebuild and redeploy every application that ships the connector, including bundled copies in language drivers, ORMs, and container base images, and confirm the shipped libmariadb version rather than the vendor of the wrapping application. Until the upgrade can be scheduled, the most direct compensating control is to leave the Zero-Configuration SSL path, which the patched code no longer treats as zero-config once any of ssl_ca, ssl_capath, ssl_crl, ssl_crlpath, tls_fp, or tls_fp_list is set: explicitly supplying a CA bundle (ssl_ca/ssl_capath) or pinning a server certificate fingerprint (tls_fp/tls_fp_list) causes the client to reject the mismatched-hostname certificate before the authentication switch can occur, at the cost of additional configuration management and certificate/fingerprint rotation work when the server certificate changes. Connections that terminate on localhost, 127.0.0.1, or ::1 are exempt from hostname verification and are not exposed to this path, so routing client traffic over a local Unix domain socket or loopback removes the attack surface, with the trade-off that it only works for same-host deployments. Operators who cannot meet either condition should restrict database exposure to trusted, non-observable network segments and use a TLS termination point they control, since disabling TLS entirely is not a recommended mitigation for a remote database connection.

Affected VersionsENISA

Server 3.4.1, < 3.4.10

Affected Packages

euvd server_3_4_1 fix: 3.4.10

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-297, improper validation of a certificate with a host mismatch, in the Zero-Configuration SSL path of libmariadb. The TLS handshake layer (ma_pvio_tls_verify_server_cert in libmariadb/ma_tls.c) recorded trust failures, but the authentication plugin negotiation logic in plugins/auth/my_auth.c only aborted on the MARIADB_TLS_VERIFY_TRUST bit and ignored MARIADB_TLS_VERIFY_HOST; consequently a successful CA-trust check with a mismatched hostname did not stop the connection, and the client accepted an attacker-driven authentication-plugin switch to mysql_clear_password, sending the password in cleartext inside an attacker-terminated TLS session. The upstream fix (commit e8c0a16d94ddf844668d684a7d42b37ac8e0fc02, released as v3.4.10) broadens the abort condition to any tls_verify_status value, expands the zero-config detection to also treat ssl_ca, ssl_capath, ssl_crl and ssl_crlpath as opting out of zero-config mode, applies FIX_SSL_VERIFY_SERVER_CERT at mysql_init, and adds regression tests (including test_auth_switch_hostname_mismatch) that assert the connection fails with CR_SSL_CONNECTION_ERROR and MARIADB_TLS_VERIFY_HOST. Note that the supplied CPE string (cpe:2.3:a:mariadb:server) is a feed mis-mapping: the vulnerable component is the MariaDB Connector/C client library (libmariadb), not MariaDB Server. Per the CVSS:3.1 vector AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N, the attack is remote and requires no authentication or user interaction, but the high attack complexity reflects the need to first achieve a trusted-certificate MITM position.

Know when MariaDB gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.9 MEDIUM

AC:H because an active MITM position plus a trusted cert for another hostname are required; PR:N as the attacker needs no DB credentials; C:H/I:N/A:N since only the cleartext password is disclosed.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat 5.9 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Oct 09, 2026 - 19:02 EUVD
CVE Published
Oct 09, 2026 - 17:25 cve.org
MEDIUM 5.9

DescriptionCVE.org

MariaDB Connector/C is a C and C++ client library for connecting applications to MariaDB and MySQL databases. From 3.4.1 until 3.4.10, the MariaDB Connector/C libmariadb Zero-Configuration SSL authentication-switch logic checked certificate trust failure but did not reject a TLS hostname verification mismatch before selecting a non-hashing authentication plugin. An active man-in-the-middle attacker with a valid certificate for another hostname could request mysql_clear_password and obtain the database password inside the attacker-controlled TLS connection. Other MariaDB connectors are not affected. This issue is fixed in version 3.4.10.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
High
widely used MariaDB/MySQL C/C++ client library embedded in many applications
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2016-6662 CRITICAL POC
9.8 Sep 20

Oracle MySQL through 5.5.52, 5.6.x through 5.6.33, and 5.7.x through 5.7.15; MariaDB before 5.5.51, 10.0.x before 10.0.2

CVE-2012-5613 MEDIUM POC
6.0 Dec 03

MySQL 5.5.19 and possibly other versions, and MariaDB 5.5.28a and possibly other versions, when configured to assign the

CVE-2014-0195 MEDIUM POC
6.8 Jun 05

The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2012-2122 MEDIUM POC
5.1 Jun 26

sql/password.c in Oracle MySQL 5.1.x before 5.1.63, 5.5.x before 5.5.24, and 5.6.x before 5.6.6, and MariaDB 5.1.x befor

CVE-2012-5612 MEDIUM POC
6.5 Dec 03

Heap-based buffer overflow in Oracle MySQL 5.5.19 and other versions through 5.5.28, and MariaDB 5.5.28a and possibly ot

CVE-2012-5611 MEDIUM POC
6.5 Dec 03

Stack-based buffer overflow in the acl_get function in Oracle MySQL 5.5.19 and other versions through 5.5.28, and 5.1.53

CVE-2014-3470 MEDIUM
4.3 Jun 05

The ssl3_send_client_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before

CVE-2016-6664 HIGH POC
7.0 Dec 13

mysqld_safe in Oracle MySQL through 5.5.51, 5.6.x through 5.6.32, and 5.7.x through 5.7.14; MariaDB; Percona Server befo

CVE-2014-0221 MEDIUM
4.3 Jun 05

The dtls1_get_message_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.

CVE-2015-3152 MEDIUM POC
5.9 May 16

Oracle MySQL before 5.7.3, Oracle MySQL Connector/C (aka libmysqlclient) before 6.1.3, and MariaDB before 5.5.44 use the

CVE-2022-0778 HIGH POC
7.5 Mar 15

The BN_mod_sqrt() function, which computes a modular square root, contains a bug that can cause it to loop forever for n

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy