STIGhubSTIGhub
STIGhub— A free STIG search and compliance tool·STIGs updated 4 hours ago
Powered by Pylon·Privacy·Terms·Feedback·© 2026 Beacon Cloud Solutions, Inc.
← Back to MariaDB Enterprise Server Security Technical Implementation Guide

V-286184

CAT II (Medium)

Database objects (including but not limited to tables, indexes, storage, stored procedures, functions, triggers, links to software external to MariaDB, etc.) must be owned by database/MariaDB principals authorized for ownership.

Rule ID

SV-286184r1292231_rule

STIG

MariaDB Enterprise Server Security Technical Implementation Guide

Version

V1R1

CCIs

CCI-001499

Discussion

Within the database, object ownership implies full privileges to the owned object, including the privilege to assign access to the owned objects to other subjects. Database functions and procedures can be coded using definer's rights. This allows anyone who uses the object to perform the actions if they were the owner. If not properly managed, this can lead to privileged actions being taken by unauthorized individuals. Conversely, if critical tables or other objects rely on unauthorized owner accounts, these objects may be lost when an account is removed.

Check Content

Review system documentation to identify accounts authorized to have privileges against database objects. Review accounts privileges on objects in the database(s).
 
Show the list of system privileges that the MariaDB server supports:

SHOW PRIVILEGES;

Run this database query to create the "SHOW GRANTS" script for each user: 

SELECT DISTINCT CONCAT( 'SHOW GRANTS FOR ', user,'@', host,';') AS grantQuery FROM mysql.user WHERE is_role = 'N';

Example output:
+----------------------------------------+
| grantQuery                             |
+----------------------------------------+
| SHOW GRANTS FOR mariadb.sys@localhost; |
| SHOW GRANTS FOR root@localhost;        |

Run each "SHOW GRANTS" command for each user.

Verify that all users have the correct privileges. If they do not, this is a finding. 

Only DEFINERS of routines (functions and procedures) can change routines. To view the DEFINERS of all functions and procedures as DBA, run:
 
SELECT * from mysql.proc \G
 
Only DEFINERS of triggers can change triggers. To view all triggers and their DEFINERS as DBA, run: 

SELECT * from information_schema.triggers \G
 
If any database users are found to have unauthorized privileges on database objects, this is a finding.

Fix Text

Assign ownership of authorized objects to authorized object owner accounts.