GHSA-473q-m89c-ghf8
MySqlConnector: Account password disclosed to a man-in-the-middle in zero-configuration TLS mode (clear-text password sent before certificate is verified)
Summary
With SslMode set to VerifyCA or VerifyFull with no configured CA certificate, an unvalidated TLS connection is treated as secure and a clear-text password can be sent before the certificate is checked. This can occur when relying on the password to validate a self-signed cert, e.g., MariaDB's zero-configuration TLS.
Impact
An attacker who can deploy a man-in-the-middle MySQL proxy presenting any self-signed certificate can capture the plaintext database password of a client that:
- uses
SslMode = VerifyCAorVerifyFull, and - does not use the
SslCaconnection string option, and - uses a non-empty password.
The attacker completes the TLS handshake with its own cert, requests a clear-text password authentication scheme (mysql_clear_password, or forces the caching_sha2_password/sha256_password clear-text fallback), and receives the password before the fingerprint check rejects the connection, defeating the man-in-the-middle protection VerifyFull is expected to provide.
Not affected: a configured CA (SslCa), CA-validated TLS, local connections (Unix socket / loopback), or empty passwords. Using SslMode set to Preferred or Required is out of scope (this is documented as not authenticating the server).
Workarounds
Provide SslCa with VerifyCA/VerifyFull, use a local/Unix-socket connection, or avoid clear-text authentication.
References
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
What each source reports
GitHub Advisories Score used 6.9
MySqlConnector: Account password disclosed to a man-in-the-middle in zero-configuration TLS mode (clear-text password sent before certificate is verified)
Summary
With SslMode set to VerifyCA or VerifyFull with no configured CA certificate, an unvalidated TLS connection is treated as secure and a clear-text password can be sent before the certificate is checked. This can occur when relying on the password to validate a self-signed cert, e.g., MariaDB's zero-configuration TLS.
Impact
An attacker who can deploy a man-in-the-middle MySQL proxy presenting any self-signed certificate can capture the plaintext database password of a client that:
- uses
SslMode = VerifyCAorVerifyFull, and - does not use the
SslCaconnection string option, and - uses a non-empty password.
The attacker completes the TLS handshake with its own cert, requests a clear-text password authentication scheme (mysql_clear_password, or forces the caching_sha2_password/sha256_password clear-text fallback), and receives the password before the fingerprint check rejects the connection, defeating the man-in-the-middle protection VerifyFull is expected to provide.
Not affected: a configured CA (SslCa), CA-validated TLS, local connections (Unix socket / loopback), or empty passwords. Using SslMode set to Preferred or Required is out of scope (this is documented as not authenticating the server).
Workarounds
Provide SslCa with VerifyCA/VerifyFull, use a local/Unix-socket connection, or avoid clear-text authentication.
References
- Record
GHSA-473q-m89c-ghf8- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-200
- Updated
- 2026-11-02
OSV 6.9
MySqlConnector: Account password disclosed to a man-in-the-middle in zero-configuration TLS mode (clear-text password sent before certificate is verified)
Summary
With SslMode set to VerifyCA or VerifyFull with no configured CA certificate, an unvalidated TLS connection is treated as secure and a clear-text password can be sent before the certificate is checked. This can occur when relying on the password to validate a self-signed cert, e.g., MariaDB's zero-configuration TLS.
Impact
An attacker who can deploy a man-in-the-middle MySQL proxy presenting any self-signed certificate can capture the plaintext database password of a client that:
- uses
SslMode = VerifyCAorVerifyFull, and - does not use the
SslCaconnection string option, and - uses a non-empty password.
The attacker completes the TLS handshake with its own cert, requests a clear-text password authentication scheme (mysql_clear_password, or forces the caching_sha2_password/sha256_password clear-text fallback), and receives the password before the fingerprint check rejects the connection, defeating the man-in-the-middle protection VerifyFull is expected to provide.
Not affected: a configured CA (SslCa), CA-validated TLS, local connections (Unix socket / loopback), or empty passwords. Using SslMode set to Preferred or Required is out of scope (this is documented as not authenticating the server).
Workarounds
Provide SslCa with VerifyCA/VerifyFull, use a local/Unix-socket connection, or avoid clear-text authentication.
References
- Record
GHSA-473q-m89c-ghf8- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-200
- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
MySqlConnectorNuGet | before 2.6.1 | 2.6.1 |
MySqlConnectorNuGet | before 2.6.1, plus listed versions 0.1.00.1.0-alpha010.1.0-alpha020.1.0-alpha030.1.0-alpha04 Show 45 moreShow less0.1.0-alpha050.1.0-alpha060.1.0-alpha070.1.0-alpha080.1.0-alpha090.1.0-alpha100.1.0-alpha110.1.0-alpha120.1.0-alpha130.1.0-alpha140.1.0-alpha150.1.0-alpha160.1.0-alpha170.1.0-alpha180.1.0-alpha190.1.0-alpha200.1.0-alpha210.1.0-alpha220.1.0-alpha230.1.0-alpha240.1.0-alpha250.1.0-alpha260.10.00.11.00.11.10.11.20.11.30.11.40.11.50.11.60.12.00.13.00.14.00.14.10.15.00.15.10.16.00.16.10.16.20.17.00.18.00.18.10.18.20.18.30.19.0 | 2.6.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
GHSA-473q-m89c-ghf8 is a medium vulnerability (CVSS 6.9) in MySqlConnector, published October 28, 2026. No source lists public exploit code. Fixed in MySqlConnector 2.6.1.
References
Left out here: 213 versions. The JSON record has them.