[CONC-544] No downgrade protection for ed25519 client authentication Created: 2018-05-23 Updated: 2021-09-14 Resolved: 2021-09-14 |
|
| Status: | Closed |
| Project: | MariaDB Connector/C |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 3.3.0 |
| Type: | Task | Priority: | Minor |
| Reporter: | Kenny Simpson | Assignee: | Georg Richter |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | authentication, ed25519 | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
As discussed on this thread: .. there is no existing downgrade protection on the client that could prevent a compromised server from forcing the client down to simple password auth and thereby stealing the long-term credentials. This defeats one of the stated goals: A compromised server can downgrade the auth to simple password and thereby recover it on next client authentication. |
| Comments |
| Comment by Sergei Golubchik [ 2021-04-08 ] |
|
Perhaps a client connector can have some option to limit set of plugins to "secure" ones? May be with MYSQL_ENABLE_CLEARTEXT_PLUGIN or some more appropriate option. |
| Comment by Sergei Golubchik [ 2021-04-08 ] |
|
May be also mysql_old_password, sha256_password, and caching_sha2_password — they all allow a malicious server to get the client password in plain-text. This is why MYSQL_ENABLE_CLEARTEXT_PLUGIN is not a perfect match. It was introduced to prevent an eavesdropper to see the plain-text password. We can either extend its semantics to cover the case of a malicious server or introduce a new flag, if this is an attack vector we actually consider important. |
| Comment by Georg Richter [ 2021-09-14 ] |
|
commit 7e0be5a9191102bcf6cbc47bea61d56ddc0be7a9 (HEAD -> 3.3, origin/3.3) Added new option MARIADB_OPT_RESTRICTED_AUTH (and corresponding If the server asks for an authentication plugin not listed in this |