What is the main drawback of Discretionary Access Control (DAC) in relational…
2026
What is the main drawback of Discretionary Access Control (DAC) in relational databases?
Answer: B. It is vulnerable to privilege propagation — Database access control follows two broad models. Discretionary Access Control (DAC) lets the owner of an object grant and revoke privileges to other users at…
- A.
It cannot restrict column-level access
- B.
It is vulnerable to privilege propagation
- C.
It cannot store privileges persistently
- D.
It requires encryption to function
Attempted by 3 students.
Show answer & explanation
Correct answer: B
Database access control follows two broad models. Discretionary Access Control (DAC) lets the owner of an object grant and revoke privileges to other users at their own discretion, typically through SQL GRANT and REVOKE statements. Mandatory Access Control (MAC) instead fixes access centrally through security labels that individual users cannot alter. Because DAC delegates the grant decision to whichever user currently holds a privilege, a privilege awarded WITH GRANT OPTION can be re-granted onward by the receiving user, so authorization can spread beyond what the original owner directly tracks.
Worked example (GRANT propagation chain):
A table owner runs GRANT SELECT ON accounts TO alice WITH GRANT OPTION. Alice now holds the SELECT privilege and, because of WITH GRANT OPTION, the right to pass it on to someone else.
Alice executes her own statement, GRANT SELECT ON accounts TO bob. The privilege propagates to Bob without the original owner issuing a fresh grant or necessarily being informed.
This chain can continue from Bob to Carol and beyond, so the set of users who effectively hold access grows in a way the owner does not centrally control. This uncontrolled onward spread of privileges is the structural weakness that database security references such as NIST SP 800-192 and standard DBMS security literature attribute to DAC.
Cross-check against the other options:
Column-level restriction: standard SQL DAC syntax explicitly supports naming columns in a GRANT statement, for example GRANT SELECT (name, salary) ON employees TO user, so DAC is not inherently unable to restrict access below the table level.
Persistent storage of privileges: granted privileges are recorded in the DBMS's system catalog or data dictionary (grant tables in systems such as MySQL), so they persist across sessions and restarts by design.
Dependence on encryption: privilege checking in DAC is a logical, SQL-level authorization step that is enforced whether or not the underlying storage is encrypted, so DAC does not require encryption to operate.
So among the options, the drawback tied to how DAC actually works is the uncontrolled onward spread of granted privileges, the propagation problem that MAC's centrally fixed security labels are specifically designed to prevent.