mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
BUG#31611 (Security risk with BINLOG statement):
Adding check that the user executing a BINLOG statement has SUPER privileges and aborting execution of the statement with an error otherwise. mysql-test/r/mysqlbinlog.result: Result change. mysql-test/t/mysqlbinlog.test: Adding test that generates a BINLOG command for inserting data into a table and feed the BINLOG statement into the database as an untrusted user. Also checking that insertion into the table fails for that user and that the table only contain a single line: the original one inserted. sql/sql_binlog.cc: Adding a check that the executor of the BINLOG command has SUPER privileges and give an error and abort execution if not.
This commit is contained in:
@ -37,6 +37,12 @@ void mysql_client_binlog_statement(THD* thd)
|
||||
thd->lex->comment.length : 2048),
|
||||
thd->lex->comment.str));
|
||||
|
||||
if (check_global_access(thd, SUPER_ACL))
|
||||
{
|
||||
my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER");
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
/*
|
||||
Temporarily turn off send_ok, since different events handle this
|
||||
differently
|
||||
|
Reference in New Issue
Block a user