STIGhubSTIGhub
STIGhub— A free STIG search and compliance tool·STIGs updated just now
Powered by Pylon·Privacy·Terms·Feedback·© 2026 Beacon Cloud Solutions, Inc.
← Back to Oracle Database 19c Security Technical Implementation Guide

V-270525

CAT II (Medium)

The Oracle SQL92_SECURITY parameter must be set to TRUE.

Rule ID

SV-270525r1263633_rule

STIG

Oracle Database 19c Security Technical Implementation Guide

Version

V1R6

CCIs

CCI-000366

Discussion

The configuration option SQL92_SECURITY specifies whether table-level SELECT privileges are required to execute an update or delete those references table column values. If this option is disabled (set to FALSE), the UPDATE privilege can be used to determine values that should require SELECT privileges. The SQL92_SECURITY setting of TRUE prevents the exploitation of user credentials with only DELETE or UPDATE privileges on a table from being able to derive column values in that table by performing a series of update/delete statements using a where clause, and rolling back the change. In the following example, with SQL92_SECURITY set to FALSE, a user with only delete privilege on the scott.emp table is able to derive that there is one employee with a salary greater than 3000. With SQL92_SECURITY set to TRUE, that user is prevented from attempting to derive a value. SQL92_SECURITY = FALSE SQL> delete from scott.emp where sal > 3000; 1 row deleted SQL> rollback; Rollback complete SQL92_SECURITY = TRUE SQL> delete from scott.emp where sal > 3000; delete from scott.emp where sal > 3000 * ERROR at line 1: ORA-01031: insufficient privileges

Check Content

To determine the current setting run the SQL statement:

Connect the  database:
sqlplus connect as sysdba

SELECT inst_id, con_id, value
FROM sys.gv_$parameter
WHERE name = 'sql92_security';

If the value for any instance or container returned is FALSE, this is a finding.

If the value for any instance or container is TRUE or does not exist (NULL), this is not a finding.

Fix Text

Enable SQL92 security.

Connect to the database:
sqlplus connect as sysdba

ALTER SYSTEM SET sql92_security=TRUE SCOPE=spfile SID='*';
SHUTDOWN IMMEDIATE;
STARTUP;

SID='*' is required if the database is a RAC database.