Описание
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.
A flaw was found in MariaDB Connector/J. An active man-in-the-middle (MITM) attacker or hostile server can exploit a vulnerability during the initial connection handshake. When a Java application connects using specific SSL modes without proper certificate configuration, the connector may accept an untrusted self-signed certificate. This allows the MITM to receive the full database password in cleartext before the connection is rejected, leading to sensitive information disclosure.
Отчет
MariaDB Connector/J (the JDBC driver used to connect Java applications to MariaDB and MySQL databases) does not consistently enforce certificate identity checks on the initial TLS handshake path. When an application connects with sslMode set to verify-full or verify-ca, supplies a password, and does not configure serverSslCert or trustStore, an active network attacker can present a self-signed certificate, claim to be the database server, select the mysql_clear_password authentication plugin, and receive the database password in cleartext before the connection is rejected. This issue is fixed upstream in MariaDB Connector/J 2.7.14, 3.3.5, 3.4.3, and 3.5.9.
Меры по смягчению последствий
When using sslMode verify-ca or verify-full, configure serverSslCert or a trustStore so the JDBC client validates the server certificate before sending credentials. Upgrade to MariaDB Connector/J 2.7.14, 3.3.5, 3.4.3, or 3.5.9 when available in your product update stream.
Затронутые пакеты
| Платформа | Пакет | Состояние | Рекомендация | Релиз |
|---|---|---|---|---|
| OpenShift Pipelines | openshift-pipelines/pipelines-console-plugin-pf5-rhel9 | Affected | ||
| OpenShift Pipelines | openshift-pipelines/pipelines-console-plugin-rhel8 | Affected | ||
| OpenShift Pipelines | openshift-pipelines/pipelines-console-plugin-rhel9 | Affected | ||
| OpenShift Pipelines | openshift-pipelines/pipelines-hub-ui-rhel8 | Affected | ||
| OpenShift Pipelines | openshift-pipelines/pipelines-hub-ui-rhel9 | Affected | ||
| OpenShift Service Mesh 3 | openshift-service-mesh/kiali-rhel9-operator | Not affected | ||
| Red Hat build of Debezium 3 | mariadb-java-client | Fix deferred | ||
| Red Hat Build of Keycloak | keycloak/rhbk-openshift-rhel9 | Fix deferred | ||
| Red Hat Build of Keycloak | mariadb-java-client | Fix deferred | ||
| Red Hat Build of Keycloak | rhbk/keycloak-rhel9 | Fix deferred |
Показывать по
Ссылки на источники
Дополнительная информация
Статус:
EPSS
5.9 Medium
CVSS3
Связанные уязвимости
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, selec
MariaDB has cleartext password disclosure to a MITM on the initial-handshake
EPSS
5.9 Medium
CVSS3