[MDEV-18290] Users identified via ed25519 are broken after upgrade to 10.4 Created: 2019-01-17 Updated: 2019-01-18 Resolved: 2019-01-18 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Authentication and Privilege System |
| Affects Version/s: | 10.4 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Critical |
| Reporter: | Elena Stepanova | Assignee: | Sergei Golubchik |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
On 10.3 or earlier versions, create a user identified via ed25519 plugin:
Shutdown the server, start 10.4 on the same datadir, run mysql_upgrade.
It appears that the rules have become stricter, and now authentication_string must be the hashed password. Unfortunately, it's not that simple to unset/update the password. I did it eventually this way:
Now it works:
|
| Comments |
| Comment by Sergei Golubchik [ 2019-01-18 ] | |
|
Same as When | |
| Comment by Elena Stepanova [ 2019-01-18 ] | |
|
I filed it separately on purpose, because I don't think that This issue signifies an exemplary broken upgrade. I don't know how many users out there actually use ed25519, but assuming that the amount is not negligible, it's not viable to make them manually update all the passwords. I suppose it might also break the upgrade itself, if the superuser is identified via ed25519. At the very least we could re-code the passwords for ed25519 accounts during mysql_upgrade. It won't solve the hypothetical problem with upgrade, though. | |
| Comment by Sergei Golubchik [ 2019-01-18 ] | |
|
You miss the point. It's not about json or a a new storage format. This issue was caused by exactly the same reason as Note that "test" is not a valid hash for ed25519 and
does not mean that the user can log in with the password "test". It means that the user can not log in at all, because no password will correspond to the hash "test". But 10.3 did not do any hash validation for ed25519 until you actually try to log in. It only validated hashes for built-in plugins. After The fix for | |
| Comment by Elena Stepanova [ 2019-01-18 ] | |
|
I see, thanks. Sorry, I was wrong, I lost track of what was allowed where, thought if 10.3 allowed to create a user USING <plain password>, it was actually working afterwards. |