MariaDB
TMA-MARIADB-9.3
Ensure 'super_priv' is Not Set to 'Y' for Replication Users
Description
The SUPER privilege found in the mysql.user table governs the use of a variety of MariaDB features. These features include, CHANGE MASTER TO, KILL, mysqladmin kill option, PURGE BINARY LOGS, SET GLOBAL, mysqladmin debug option, logging control, and more. Treats every account other than root and mysql (the MariaDB system administrator accounts) holding REPLICATION SLAVE as a replication user and counts those that also hold SUPER. Runs mariadb -NBe with the client defaults: as root on the server the unix_socket plugin usually authenticates; otherwise put an administrative account in ~/.my.cnf (mode 0600), not MYSQL_PWD (see 1.4/1.6).
How it is checked
Audit method: SQL query
out=$(mariadb -NBe "SELECT COUNT(*) FROM mysql.user WHERE Repl_slave_priv = 'Y' AND Super_priv = 'Y' AND user NOT IN ('root', 'mysql')" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Expected output
0
How it is fixed
Fix method: Guidance or infrastructure patch
REVOKE SUPER ON *.* FROM '<repl user>'@'<host>';
Properties
- Operating systems
- Any
- Tags
- mariadbdatabasereplicationauthorization
- Reference
- CIS MariaDB 10.11 Benchmark v1.0.0 - 9.3 Ensure 'super_priv' is Not Set to 'Y' for Replication Users
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target mariadb