Skip to main content

MariaDB Connector/J CVE-2026-55856

MEDIUM
Insufficiently Protected Credentials (CWE-522)
2026-08-28 GitHub_M GHSA-g9jj-cgmh-9f38
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
    Attain network MITM position
  2. Delivery
    Intercept outbound MariaDB TCP connection
  3. Exploit
    Complete TLS handshake with self-signed certificate
  4. Execution
    Spoof server handshake advertising mysql_clear_password plugin
  5. Persist
    Receive cleartext password in client HandshakeResponse
  6. Impact
    Capture 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.

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 – 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

maven org.mariadb.jdbc:mariadb-java-client fix: 2.7.14, 3.3.5, 3.4.3, 3.5.9

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

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

Active network MITM required (AC:H); attacker needs no privileges (PR:N); only the database password is exposed, with no integrity or availability impact.

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

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

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Medium
widely used Java JDBC driver across MariaDB and MySQL application deployments
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment GHSA 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 Yes
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
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Affected Products (CPE)CVE.org

cpe:2.3:a:mariadb-corporation:mariadb-connector-j:*:*:*:*:*:*:*:*

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

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

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Vendor StatusVendor

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