MariaDB Connector/J CVE-2026-55856
MEDIUMAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttain network MITM position
-
DeliveryIntercept outbound MariaDB TCP connection
-
ExploitComplete TLS handshake with self-signed certificate
-
ExecutionSpoof server handshake advertising mysql_clear_password plugin
-
PersistReceive cleartext password in client HandshakeResponse
-
ImpactCapture credential before connection teardown
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential protection in transit/storage
|
| Exploitation Conditions | Exploitation requires all four of the following conditions to hold simultaneously: (1) the Java application uses MariaDB Connector/J with sslMode=verify-full or sslMode=verify-ca; (2) a database password is provided in the connection configuration; (3) neither serverSslCert nor trustStore is configured, causing the connector to use the default ephemeral trust manager with fallbackToSystemTrustStore=true; and (4) the attacker holds an active man-in-the-middle position on the TCP/TLS network path between the client and the MariaDB server. Exploitation is limited by the high complexity of acquiring a network MITM position and by the fact that only the initial-handshake path is affected - established connections are not exposed retroactively. From the attacker's side, no privileges are required (CVSS PR:N). Applications that pin the server certificate via serverSslCert or trustStore, applications that do not supply a password, and applications not using mysql_clear_password as the initial server-advertised plugin are not vulnerable even on unpatched versions. |
| Impact | The CVSS 3.1 score of 5.9 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N) accurately reflects the core tension in this vulnerability: the confidentiality impact is maximal - the attacker receives the full plaintext database password - but the attack complexity is high, requiring the attacker to hold an active network MITM position before exploitation is possible. The High confidentiality impact is unambiguous; with captured credentials the attacker can authenticate directly to the database and access or modify all data that account is authorized for. I:N and A:N are correct for the base score because the vulnerability itself only leaks the credential; downstream damage is a post-exploitation concern. EPSS data was not provided in the intelligence input and cannot be assessed. Active exploitation is not confirmed - this CVE is absent from the CISA KEV catalog and no public exploit code is identified at time of analysis. Despite the AC:H rating, real-world risk is meaningfully elevated by the fact that this vulnerability targets users who explicitly configured TLS verification, the configuration documented by the vendor as the easy secure default, meaning these users have every reasonable expectation of being protected and are unlikely to apply compensating controls. Any environment where network interception is feasible - cloud multi-tenant segments, shared hosting, or misconfigured VPCs - narrows the practical gap between AC:H on paper and realistic exploitation. No conflicting signals exist in the available data; the CVSS vector is fully consistent with the described MITM scenario. |
| Exploit ScenarioDerived | An attacker with a network MITM position between the Java application and its MariaDB server - achieved via ARP poisoning, a compromised network device, or a hostile cloud co-tenant - intercepts the outbound TCP connection, completes a TLS handshake using a self-signed certificate, and includes mysql_clear_password as the advertised initial authentication plugin in the spoofed server handshake packet. The vulnerable Connector/J, operating under sslMode=verify-full without a pinned certificate, transmits the application's database password in cleartext in its HandshakeResponse before performing the fingerprint identity check; the attacker captures the credential and the connection is subsequently torn down. No public exploit code is identified at time of analysis, but the HackerOne report at https://hackerone.com/reports/3777370 and the GHSA advisory document the attack in sufficient technical detail to be reproducible by a skilled attacker. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
Cleartext database password disclosure in MariaDB Connector/J (all versions before 2.7.14, 3.3.5, 3.4.3, and 3.5.9) allows an active network man-in-the-middle to capture a victim application's full database password during the initial TLS handshake. The connector's initial-handshake code path transmits a mysql_clear_password authentication response before validating the certificate fingerprint that is supposed to enforce server identity - a guard that the OK-packet and auth-switch paths correctly enforce but that HandshakeResponse.encode() bypasses entirely. No active exploitation has been confirmed (not in CISA KEV) and no public exploit code is identified at time of analysis, though the vulnerability mechanism is fully documented in a vendor-published HackerOne report and GHSA advisory.
RemediationAI
Upgrade MariaDB Connector/J to one of the patched releases: 2.7.14 for the 2.x branch, 3.3.5 for the 3.3.x branch, 3.4.3 for the 3.4.x branch, or 3.5.9 for the 3.5.x branch, all available via Maven Central. Patch commits are published at https://github.com/mariadb-corporation/mariadb-connector-j/commit/149ec6a626376214966c01f42d48be1b80d06056 and https://github.com/mariadb-corporation/mariadb-connector-j/commit/d90b9872322c76b05a48219be66bff1d33102f8a. If an immediate upgrade is not possible, two compensating controls are available. First, configure serverSslCert or trustStore to pin the server certificate; this disables the ephemeral fallback trust manager entirely and eliminates the vulnerable code path with no functional side effects beyond requiring certificate distribution to client hosts. Second, ensure the MariaDB server does not offer mysql_clear_password as the initial authentication plugin - switching to native_password or ed25519 on the server side prevents the specific leak vector but requires server-side reconfiguration and does not address the underlying code defect. Setting sslMode=trust removes the inconsistent fingerprint enforcement but also removes all server authentication protection and is not recommended in adversarial network environments. The full vendor advisory and JIRA ticket CONJ-1325 at https://jira.mariadb.org/browse/CONJ-1325 provide additional context.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in maven
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
MariaDB Connector/J (Maven artifact org.mariadb.jdbc:mariadb-java-client, CPE cpe:2.3:a:mariadb-corporation:mariadb-connector-j:*) is the official Java JDBC driver for MariaDB and MySQL databases. The affected code implements a 'MITM-proof without a CA' feature: when sslMode=verify-full or verify-ca is specified but no server certificate is pinned via serverSslCert or trustStore, the connector falls back to an ephemeral trust manager (fallbackToSystemTrustStore=true) that accepts any non-expired TLS certificate, recording its fingerprint (certFingerprint) for deferred identity binding during the authentication exchange. CWE-522 (Insufficiently Protected Credentials) describes the root cause precisely: the cleartext credential is transmitted before the identity verification mechanism runs. Specifically, HandshakeResponse.encode() in the initial-handshake path never consults certFingerprint, sslMode, or the authentication plugin's isMitMProof() flag before building and sending the mysql_clear_password response. The commit diff shows the fix relocates plugin selection and all safety checks into StandardClient.java before HandshakeResponse.encode() is invoked, ensuring that a certFingerprint captured from a self-signed certificate causes an immediate connection abort rather than a credential leak.
Know when Java 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
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Active network MITM required (AC:H); attacker needs no privileges (PR:N); only the database password is exposed, with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
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, when a Java application connects with sslMode=verify-full or sslMode=verify-ca, supplies a password, and does not configure serverSslCert or trustStore, Connector/J can accept an untrusted self-signed certificate through the fallbackToSystemTrustStore=true ephemeral trust manager and record its certFingerprint for later identity binding. The OK-packet and authentication-switch paths enforce the certificate fingerprint, but the initial-handshake path does not. HandshakeResponse.encode() can therefore build and send a mysql_clear_password response before checking certFingerprint != null && !isMitMProof(), sslMode, or whether the authentication plugin is resistant to a man-in-the-middle, and the initial path also bypasses restrictedAuth. An active man-in-the-middle or hostile server can present a self-signed certificate, claim to be MariaDB, select mysql_clear_password as the initial authentication plugin, and receive the full database password before the connection is rejected. This issue is fixed in versions 2.7.14, 3.3.5, 3.4.3, and 3.5.9.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Affected Products (CPE)CVE.org
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
GHSA-g9jj-cgmh-9f38
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB