Join our Newsletter — 33% off our NHI Course

What are common mistakes with discretionary access control lists?

Common mistakes with Discretionary Access Control List are granting broad rights to users who can then pass access onward, leaving stale entries in place, and failing to review inherited permissions. Administrators should check for over-permissive file, share, and object access, remove unnecessary delegation, and revalidate permissions after role or ownership changes.

Where discretionary access control lists go wrong

discretionary access control lists fail when control is handed to the wrong people, then left to drift. In practice, that means owners can grant access more widely than intended, temporary permissions become permanent, and inherited permissions quietly expand access beyond the original decision. The result is usually not a single bad ACL, but a pattern of unchecked delegation, stale entries, and permissions nobody revalidates.

Another recurring mistake is assuming the ACL itself is the whole control. A discretionary model depends on consistent ownership, accurate inheritance rules, and periodic review. If those upstream decisions are weak, the list becomes a record of accumulated exceptions rather than an expression of current need.

For a useful mental model, treat authorisation models as different ways of deciding who should have access, and remember that discretionary models are especially prone to sprawl when ownership is loosely defined.

Why stale, inherited, and delegated permissions create hidden exposure

Stale entries are dangerous because they preserve access long after the business reason has expired. That includes old project memberships, departed staff, re-used shares, orphaned object permissions, and inherited rights that remain effective after role or ownership changes. The practical failure is visibility: teams often see the explicit ACL entry and miss the effective access created by inheritance.

Delegation adds another layer of risk because a user who can pass access onward can unintentionally create a broad secondary trust path. In file systems, shares, and object stores, that can turn one legitimate permission into many downstream permissions, especially where nested groups, inherited ACLs, or copied templates are involved. A review that only checks direct grants will miss the real blast radius.

That is why IAM and IGA basics matter here: they frame the review, recertification, and entitlement lifecycle work that keeps discretionary access from turning into permission creep.

What to check before you trust an ACL

Start with effective access, not just the visible list. Check whether file, share, and object permissions are broader than the business task requires, then confirm whether inherited rights, group nesting, or ownership rules are adding access silently. Pay special attention when ownership changes, because discretionary permissions often survive the handoff unless someone explicitly revalidates them.

Review whether the permission model allows unbounded reshare, delegation, or default inheritance. If it does, the operational question is not whether the ACL is valid, but whether it is still appropriate after the last organisational change. For a deeper look at the common failure patterns, see the broken access control prevention guide, which covers server-side checks, ownership validation, and privilege escalation paths that often mirror ACL design mistakes.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

NIST SP 800-53 Rev 5 and CIS Controls v8 set the technical controls, while ISO/IEC 27001:2022 defines the regulatory obligations.

Framework Control / Reference Relevance
NIST SP 800-53 Rev 5 AC-6 — Least Privilege ACL mistakes directly affect how much access users receive.
AC-2 — Account Management Stale entries and role changes are account lifecycle failures.
AC-3 — Access Enforcement ACLs are the mechanism enforcing object and share access decisions.
Recommendation — Limit discretionary grants to the minimum access required and review effective access regularly. Remove obsolete permissions when users, roles, or ownership change. Enforce access decisions consistently on the resource, including inherited permissions.
CIS Controls v8 CIS-6 — Access Control Management Discretionary ACL review and cleanup are core access control tasks.
Recommendation — Centralise access review and remove unnecessary delegation and stale rights.
ISO/IEC 27001:2022 A.5.15 — Access control ACL governance is an access-control issue under Annex A.
Recommendation — Define and enforce access rules that reflect current business need and ownership.

Practitioner Guidance

What to verify: Validate effective permissions after role changes, ownership transfers, and group restructuring, not just during initial provisioning. If the access path can be inherited or delegated, check the full chain rather than a single ACL entry.

What to prioritise: Remove broad grants first, then clean up stale and orphaned entries, because those usually create the largest unintended blast radius. In shared repositories and object stores, inherited permissions deserve the same attention as explicit entries.

Common mistake: Treating ACL cleanup as a one-time hardening task instead of an ongoing entitlement review. Discretionary control fails when no one owns the review cycle.

Practitioner takeaway: The real test is not whether an ACL was set correctly once, but whether current effective access still matches current business need after delegation, inheritance, and ownership changes.