CWE-1220: Insufficient Granularity of Access Control
The product implements access controls via a policy or other feature with the intention to disable or restrict accesses (reads and/or writes) to assets in a system from untrusted agents. However, implemented access controls lack required granularity, which renders the control policy too broad because it allows accesses from unauthorized agents to the security-sensitive assets.
Integrated circuits and hardware engines can expose accesses to assets (device configuration, keys, etc.) to trusted firmware or a software module (commonly set by BIOS/bootloader). This access is typically access-controlled. Upon a power reset, the hardware or system usually starts with default values in registers, and the trusted firmware (Boot firmware) configures the necessary access-control protection. A common weakness that can exist in such protection schemes is that access controls or policies are not granular enough. This condition allows agents beyond trusted agents to access assets and could lead to a loss of functionality or the ability to set up the device securely. This further results in security risks from leaked, sensitive, key material to modification of device configuration.
Consequences
- Confidentiality, Integrity, Availability, Access Control: Modify Memory, Read Memory, Execute Unauthorized Code or Commands, Gain Privileges or Assume Identity, Bypass Protection Mechanism, Other
How to prevent it
- Architecture and Design, Implementation, Testing: Access-control-policy protections must be reviewed for design inconsistency and common weaknesses. Access-control-policy definition and programming flow must be tested in pre-silicon, post-silicon testing.
Recent advisories
- DRUPAL-CONTRIB-2026-167 — The Webform module enables site builders to create forms and collect submissions.
- EEF-CVE-2026-86338 — Ash field policies do not filter-nil forbidden calculations and aggregates, enabling an information-disclosure oracle
- EEF-CVE-2026-78216 — AshLua eval read operations can read field-policy-protected fields via aggregates
- EEF-CVE-2026-78230 — AshAi aggregate tool can read field-policy-protected fields
- CVE-2026-56155 — Insufficient granularity of access control in Active Directory Federation Services (AD FS) allows an authorized attacker to elevate privileges locally.
- GHSA-6g26-7cx5-mrrg — Keycloak: Information disclosure due to user profile permission bypass
- GHSA-8c7q-86fq-vvmh — MLflow allows unauthorized access to multipart upload endpoints when the `--serve-artifacts` mode is enabled
- GHSA-933f-rg6j-f46p — Keycloak Account Resources user lookup contains broken access control
- GHSA-7jm2-g593-4qrc — OpenClaw: Agent gateway config mutations could change protected operator settings
- GHSA-w7rc-q6cm-f5gm — Apache Airflow's asset dependency graph did not restrict nodes by the viewer's DAG read permissions
- GHSA-p3v3-229h-mc63 — Apache Airflow's authenticated /ui/dags endpoint did not enforce per-DAG access control on embedded Human-in-the-Loop (HITL) and TaskInstance record
- CVE-2026-33825 — Insufficient granularity of access control in Microsoft Defender allows an authorized attacker to elevate privileges locally.
- GHSA-p9ff-h696-f583 — Vite Vulnerable to Arbitrary File Read via Vite Dev Server WebSocket
- CVE-2025-31201 — This issue was addressed by removing the vulnerable code.
- GHSA-cj3c-5xpm-cx94 — Kimai API returns timesheet entries a user should not be authorized to view
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor