Bug #2953 New GRANT for an existing user deletes the user's password
| Submitted: | 25 Feb 2004 3:16 | Modified: | 1 Mar 2004 11:22 |
|---|---|---|---|
| Reporter: | David Harper | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S1 (Critical) |
| Version: | 4.1.1-alpha-standard (Official MySQL-sta | OS: | Linux (Linux/i686 and DEC OSF/Alpha) |
| Assigned to: | CPU Architecture: | Any |
[25 Feb 2004 3:16]
David Harper
[25 Feb 2004 3:33]
Alexander Keremidarski
The password is not deleted! The bug is in SHOW GRANTS only. Corrected How-To-Repeat: grant usage on *.* to snoopy@"%" identified by "CharlieBrown"; show grants for snoopy; | GRANT USAGE ON *.* TO 'snoopy'@'%' IDENTIFIED BY PASSWORD '*BE744EFC752043678E 3B4F2C35A13DC778D63A8F' | # User snoopy has a password create database woodstock; grant select,insert,update,delete on woodstock.* to snoopy@"%"; show grants for snoopy; +-----------------------------------------------------------------------+ | Grants for snoopy@% | +-----------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'snoopy'@'%' | | GRANT SELECT, INSERT, UPDATE, DELETE ON `woodstock`.* TO 'snoopy'@'%' | +-----------------------------------------------------------------------+ # User snoopy appears to be without password while it is not the case mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.02 sec) mysql> show grants for snoopy; | GRANT USAGE ON *.* TO 'snoopy'@'%' IDENTIFIED BY PASSWORD '*BE744EFC752043678E 3B4F2C35A13DC778D63A8F' | | GRANT SELECT, INSERT, UPDATE, DELETE ON `woodstock`.* TO 'snoopy'@'%'
[25 Feb 2004 3:44]
David Harper
I just did this on my 4.1.1-alpha version of MySQL: hoyle[adh]44: mysql -h hoyle -P 24651 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 to server version: 4.1.1-alpha-standard Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> status; -------------- mysql Ver 14.3 Distrib 4.1.1-alpha, for pc-linux (i686) Connection id: 11 Current database: Current user: root@hoyle.internal.sanger.ac.uk SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 4.1.1-alpha-standard Protocol version: 10 Connection: hoyle via TCP/IP Client characterset: latin1_swedish_ci Server characterset: latin1_swedish_ci TCP port: 24651 Uptime: 1 day 22 hours 38 min 2 sec Threads: 1 Questions: 201 Slow queries: 1 Opens: 84 Flush tables: 1 Open ta bles: 40 Queries per second avg: 0.001 -------------- mysql> grant usage on *.* to snoopy@"%" identified by "CharlieBrown"; Query OK, 0 rows affected (0.00 sec) mysql> show grants for snoopy; +------------------------------------------------------------------------------+ | Grants for snoopy@% | +------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'snoopy'@'%' IDENTIFIED BY PASSWORD '56d7ae524ff2faf1' | +------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> create database woodstock; Query OK, 1 row affected (0.00 sec) mysql> grant select,insert,update,delete on woodstock.* to snoopy@"%"; Query OK, 0 rows affected (0.00 sec) mysql> show grants for snoopy; +-----------------------------------------------------------------------+ | Grants for snoopy@% | +-----------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'snoopy'@'%' | | GRANT SELECT, INSERT, UPDATE, DELETE ON `woodstock`.* TO 'snoopy'@'%' | +-----------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> quit Bye hoyle[adh]45: mysql -h hoyle -P 24651 -u snoopy Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 to server version: 4.1.1-alpha-standard Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> So user 'snoopy' can now gain access to the database *without* a password, as the second "show grants for snoopy" indicates.
[25 Feb 2004 7:45]
Alexander Keremidarski
Thanks to your test I was able to repeat it. When I tested it initally I wasn't able to login without password, but now I can. Again after FLUSH PRIVILEGES password reappears and user can't login without it anymore.
[25 Feb 2004 7:55]
David Harper
Alexander, Many thanks for your prompt response to my report. I understand that executing FLUSH PRIVILEGES immediately after the GRANT will fix the problem, but according to the manual, FLUSH PRIVILEGES should only be necessary if I have altered the privilege tables directly using INSERT. So this is still a bug in 4.1.1 :-) Regards David Harper Cambridge
[25 Feb 2004 8:40]
MySQL Verification Team
A patch for this bug has been sent for reviewal and confirmation.
[1 Mar 2004 11:22]
MySQL Verification Team
fix is pushed.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.041 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.