Information
Blank passwords allow a user to login without using a password.
Without a password only knowing the username and the list of allowed hosts will allow someone to connect to the server and assume the identity of the user. This, in effect, bypasses authentication mechanisms.
Solution
For each row returned from the audit procedure, reset the password for the given user using the following statement (as an example):
ALTER USER
<user>@<host> IDENTIFIED BY RANDOM PASSWORD PASSWORD EXPIRE;
This resets the password temporarily to a RANDOM string and returns that temporary password as a result.
The user can then use this temporary password to login and is forced to set the password to one of their choosing upon login.
Note: Replace <user>, <host> with appropriate values.
Additionally install the password policy component and define your password policy
INSTALL COMPONENT 'file://component_validate_password';
Edit the my.cnf file to define and enforce a password policy
[mysqld]
validate_password.dictionary_file=/usr/share/dict/words
validate_password.length=10
validate_password.number_count=2