Bug #50238 'GRANT SUPER' doesn't give 'TABLESPACE' priv in fresh 5.5, upgrade from 5.1 does
Submitted: 11 Jan 2010 15:08
Reporter: Nidhi Shrotriya Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Security: Privileges Severity:S3 (Non-critical)
Version:5.5.1-m2 OS:Any
Assigned to: CPU Architecture:Any

[11 Jan 2010 15:08] Nidhi Shrotriya
Description:
CREATE USER 'trig_super'@'localhost' IDENTIFIED BY 'trig_pass';
GRANT SUPER on *.* to 'trig_super'@'localhost';
GRANT INSERT, SELECT, UPDATE, DELETE  on *.* to 'trig_super'@'localhost';
-bash-3.2$ bin/mysql --user=trig_super --socket=/tmp/mysql.sock  --password='trig_pass'
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.1-m2 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show grants;
+---------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for trig_super@localhost                                                                                                                   |
+---------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, SUPER ON *.* TO 'trig_super'@'localhost' IDENTIFIED BY PASSWORD '*23815845E5E220C48E55A82C239022AF42F58660' |
+---------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Whereas when upgraded from 5.1, user with 'SUPER' priv created in 5.1 
upgrade to 5.5.1-m2, gets 'TABLESPACE' priv in 5.5.

-bash-3.2$ bin/mysql --user=trig_super --socket=/tmp/mysql.sock  --password='trig_pass'
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.5.1-m2 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show grants;
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for trig_super@localhost                                                                                                                                      |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, SUPER, CREATE TABLESPACE ON *.* TO 'trig_super'@'localhost' IDENTIFIED BY PASSWORD '*23815845E5E220C48E55A82C239022AF42F58660' |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

How to repeat:
As mentioned in description.