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

From Microsoft SQL Server 2012 Database Instance Security Technical Implementation Guide

Part of SRG-APP-000085-DB-000038

Associated with: CCI-001693

SV-53671r4_rule SQL Server utilizing Discretionary Access Control (DAC) must enforce a policy that limits propagation of access rights.

Vulnerability discussion

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).These DAC concepts extend to the server level. Server instances have the potential for the access controls to propagate without limit, resulting in unauthorized access.The DBMS must ensure the recipient of server permissions possesses only the access intended. The DBMS 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.

Check content

Check for rights propagation assignment to DBMS server permissions by running the following query: USE master; SELECT * FROM sys.server_permissions WHERE state_desc = 'GRANT_WITH_GRANT_OPTION'; If any of the permissions listed have not been documented and approved as requiring GRANT_WITH_GRANT_OPTION, this is a finding.

Fix text

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 "ALTER ANY DATABASE" with the actual server permission at issue): REVOKE ALTER ANY DATABASE FROM SampleLoginOrServerRole CASCADE; GRANT ALTER ANY DATABASE TO SampleServerRole; -- Note, no WITH GRANT OPTION clause here.

Pro Tips

Lavender hyperlinks in small type off to the right (of CSS class id, if you view the page source) point to globally unique URIs for each document and item. Copy the link location and paste anywhere you need to talk unambiguously about these things.

You can obtain data about documents and items in other formats. Simply provide an HTTP header Accept: text/turtle or Accept: application/rdf+xml.

Powered by sagemincer