CVE-2026-55860: MariaDB Connector/R2DBC: Cleartext password disclosure to a man-in-the-middle server (clear-text auth plugins not gated on a secure transport)

Published Aug 28, 2026
·
Updated

Summary

The connector does not gate clear-text password authentication plugins on transport encryption. A hostile or man-in-the-middle MariaDB server can request a clear-text plugin over an unencrypted (plain-TCP) connection, and the driver responds with the user's password in cleartext on the wire.

Details

The driver does not require a secure transport before using clear-text-password authentication plugins. A hostile or man-in-the-middle server can issue an AuthSwitchRequest naming mysqlclearpassword or dialog (PAM) over a plain-TCP, unencrypted connection, and the driver replies with the user's password as cleartext bytes on the wire.

The root cause is that the AuthenticationPlugin interface declares no capability for a plugin to require a secure connection. Because no such gate exists, clear-text plugins run regardless of whether the connection is encrypted.

Impact

The account password is transmitted in cleartext to the peer. An on-path attacker (MITM) who presents themselves as the server can capture the password during the authentication handshake. The disclosed credentials can subsequently be used to authenticate directly against the database server.

Patches

Fixed in 1.4.1. Clear-text authentication plugins (mysqlclearpassword, dialog/PAM) now require a secure connection: the AuthenticationPlugin contract can declare that a plugin requires a secure transport, and such plugins are permitted only over an encrypted connection. Upgrade to 1.4.1 or later.

Workarounds

Until you can upgrade, configure certificate verification explicitly: provide the server/CA certificate and use a verifying SSL mode (e.g. VERIFYCA / VERIFYFULL) so the connection is encrypted and the server's identity is established before credentials are sent.

Credit

Reported by Yalguun Tumenkhuu (@fg0x0).

Other sources

MariaDB Connector/R2DBC is a non-blocking MariaDB and MySQL client implemented in Java. Prior to 1.4.1, org.mariadb:r2dbc-mariadb does not gate clear-text password authentication plugins on transport encryption because the AuthenticationPlugin interface has no capability for a plugin to require a secure connection. A hostile or man-in-the-middle MariaDB server can send an AuthSwitchRequest naming mysqlclearpassword or dialog (PAM) over a plain-TCP unencrypted connection, and AuthenticationFlow permits ClearPasswordPluginFlow or PamPluginFlow to return the user's password as cleartext bytes on the wire. The disclosed credentials can subsequently be used to authenticate directly to the database server. This issue is fixed in version 1.4.1.

MITRE

Affected Software

2 affected componentsFixes available
MariaDB MariaDB Connector/R2DBC<1.4.1
maven/org.mariadb:r2dbc-mariadb<1.4.1
1.4.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade maven/org.mariadb:r2dbc-mariadb to a version that resolves this vulnerability.

    Fixed in 1.4.1
  2. Upgrade

    Upgrade org.mariadb:r2dbc-mariadb to a version that resolves this vulnerability.

    Fixed in 1.4.1
  3. Configuration

    Until upgraded, configure certificate verification explicitly by providing the server/CA certificate and using a verifying SSL mode (VERIFY_CA / VERIFY_FULL) so the connection is encrypted and the server's identity is established before credentials are sent.

    MariaDB Connector/R2DBC SSL mode = VERIFY_CA / VERIFY_FULL

Event History

Aug 28, 2026
CVE Published
via MITRE·10:50 PM
Data Sourced
via MITRE·10:50 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·10:50 PM
Data Sourced
via GitHub·10:50 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What does an attacker need to capture a password?

The attacker must act as, or intercept traffic to, the MariaDB server during authentication over an unencrypted plain-TCP connection. No database privileges or user interaction are required.

2

Which authentication requests can trigger disclosure?

A hostile server can send an AuthSwitchRequest for mysql_clear_password or dialog (PAM). The connector then sends the user's password as cleartext bytes over the connection.

3

What can an attacker do with a captured password?

The disclosed account password can subsequently be used to authenticate directly to the database server.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203