UCF STIG Viewer Logo

DBMS application users should not be granted administrative privileges to the DBMS.


Overview

Finding ID Version Rule ID IA Controls Severity
V-15628 DG0119-ORACLE11 SV-24746r2_rule Medium
Description
Excessive privileges can lead to unauthorized actions on data and database objects. Assigning only the privileges required to perform the job function authorized for the user helps protect against exploits against application vulnerabilities such as SQL injection attacks. The recommended method is to grant access only to stored procedures that perform only static actions on the data authorized for the user. Where this is not feasible, consider using data views or other methods to restrict users to only the data suitable for their job function.
STIG Date
Oracle Database 11g Instance STIG 2017-06-29

Details

Check Text ( C-969r2_chk )
From SQL*Plus (NOTE: The owner list below is a short list of all possible default Oracle accounts):

select grantee, owner, table_name, privilege from dba_tab_privs
where privilege in ('ALTER', 'REFERENCES', 'INDEX')
and grantee not in ('DBA', 'SYS', 'SYSTEM', 'LBACSYS', 'XDBADMIN')
and table_name not in
('SDO_IDX_TAB_SEQUENCE', 'XDB$ACL', 'XDB_ADMIN')
and grantee not in
(select grantee from dba_role_privs where granted_role = 'DBA')
and grantee not in (select distinct owner from dba_objects);

If any records are returned, this is a Finding.
Fix Text (F-3788r1_fix)
Revoke ALTER, REFERENCES, and INDEX privileges from application user roles.

From SQL*Plus:
revoke [privilege] from [application user role];

Replace [privilege] with the identified ALTER, REFERENCES or INDEX privilege and [application user role] with the identified application role.