SQL2-00-011050 - SQL Server utilizing Discretionary Access Control (DAC) must enforce a policy that limits propagation of access rights.

Information

Discretionary Access Control (DAC) is based on the premise that individual users are 'owners' of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment.

DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions. DAC models have the potential for the access controls to propagate without limit, resulting in unauthorized access to said objects.

When applications provide a discretionary access control mechanism, the application must be able to limit the propagation of those access rights.

The DBMS must ensure the recipient of object permissions possesses only the access intended. The database must enforce the ability to limit unauthorized rights propagation. If propagation is not prevented, users can continue to grant rights to other users without limit.

Solution

Document and obtain approval for each GRANT_WITH_GRANT_OPTION that is required.

Correct each unapproved GRANT_WITH_GRANT_OPTION with REVOKE and GRANT statements of the form (replacing 'UPDATE' with the actual permission at issue):
REVOKE UPDATE ON SampleTable FROM SampleUserOrRole CASCADE;
GRANT UPDATE ON SampleTable TO SampleRole; -- Note, no WITH GRANT OPTION clause here.

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_MS_SQL_Server_2012_V1R20_STIG.zip

Item Details

Category: ACCESS CONTROL

References: 800-53|AC-3(4), CAT|II, CCI|CCI-002165, Rule-ID|SV-53918r3_rule, STIG-ID|SQL2-00-011050, Vuln-ID|V-41394

Plugin: MS_SQLDB

Control ID: eded06ee0a5e4cdaedf63a3f6b4e3cd9919cfb5175fc46b4d440dccd0d07c54d