CWE-284: Improper Access Control

What is CWE-284?

The product fails to restrict access to a resource, or restricts access incorrectly, allowing an unauthorized actor to access it.

Data statistics

OWASP TOP 10:2025 RANK1 — A01:2025 — Broken Access Control
RELATED CVES (365 DAYS)745
ABSTRACTIONPillar

Vulnerabilities mapped to CWE-284

745 vulnerabilities174.9% increase year over year

Vulnerabilities in CISA KEV for CWE-284

5 vulnerabilities150% increase year over year

Official definition

ByMitre CWE

The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.

Access control involves the use of several protection mechanisms such as:

  • Authentication (proving the identity of an actor)

  • Authorization (ensuring that a given actor can access a resource), and

  • Accountability (tracking of activities that were performed)

When any mechanism is not applied or otherwise fails, attackers can compromise the security of the product by gaining privileges, reading sensitive information, executing commands, evading detection, etc.

There are two distinct behaviors that can introduce access control weaknesses:

  • Specification: incorrect privileges, permissions, ownership, etc. are explicitly specified for either the user or the resource (for example, setting a password file to be world-writable, or giving administrator capabilities to a guest user). This action could be performed by the program or the administrator.

  • Enforcement: the mechanism contains errors that prevent it from properly enforcing the specified access control requirements (e.g., allowing the user to specify their own privileges, or allowing a syntactically-incorrect ACL to produce insecure settings). This problem occurs within the program itself, in that it does not actually enforce the intended security policy that the administrator specifies.

Detailed description

Access control is a broader set of mechanisms covering authentication, authorization, and accountability. A weakness can arise when identity is not adequately established, when permissions do not match the intended policy, or when security-relevant activity is not tracked. The record distinguishes two principal causes: specification, where permissions, ownership, or privileges are configured incorrectly, and enforcement, where implementation errors prevent the product from applying the administrator's intended policy. Examples include granting excessive privileges, allowing users to define their own privileges, or interpreting an invalid access-control list in an insecure way.

Characteristics

This is a broad, context-dependent weakness that may occur in language-independent and technology-independent products, including web-based and ICS/OT systems. It may be introduced during architecture and design, implementation, or operation. The record also notes that “access control” is used broadly for mechanisms restricting which users can access which resources, while “authorization” may be used more narrowly.

Common consequences

The consequence varies by context. Depending on the resource and the failed control, an unauthorized actor may gain privileges, read sensitive information, execute commands, or evade detection. The official consequence classification is Other: Varies by Context.

ImpactScopeExplanation
Varies by ContextOther—

Risk mitigations

Manage privileges and trust zones: Carefully control how privileges are set, managed, and handled, and explicitly define trust zones in the software. Use compartmentalization and least privilege: During architecture and design, separate the system into safe areas with clear trust boundaries, keep sensitive data within the appropriate boundary, and treat interfaces with outside compartments cautiously. Build compartmentalization into the design so it supports privilege separation, and grant privileges only when needed before dropping them when they are no longer required.

  1. Architecture and Design, OperationVery carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
  2. Separation of Privilege · Architecture and DesignCompartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.

Detection methods

The official record does not specify detection methods.

Representative vulnerabilities

The following are representative examples from the official record, not a complete list:

  • CVE-2023-26463: An IPSec VPN product reused one variable for multiple purposes, contributing to incorrect access control along with an expired-pointer dereference.
  • CVE-2022-24985: A form-hosting website checked session authentication for only one form, allowing authentication bypass when multiple forms were present.
  • CVE-2022-29238: A web-based document collaboration tool prevented listing hidden directories but still allowed direct requests for files within them.
  • CVE-2022-23607: A Python HTTP library failed to scope cookies to a particular domain, allowing cookies to be sent to any domain after a redirect.
  • CVE-2021-21972: A virtualization platform did not require authentication to upload a tar file, which could then use path traversal to access unexpected files; the record states it was exploited in the wild.
  • CVE-2021-37415: An IT management product did not authenticate some REST API requests; the record states it was exploited in the wild.
  • CVE-2021-35033: WiFi-router firmware used a hard-coded password for a BusyBox shell, enabling authentication bypass through the UART port.
  • CVE-2020-10263: A Bluetooth speaker exposed debug functionality through the UART port without authentication, allowing root-shell access.
  • CVE-2020-13927: A default setting in a workflow-management product allowed all API requests without authentication; the record states it was exploited in the wild.
  • CVE-2010-4624: A bulletin board enforced an image-count restriction when creating a post but not when editing it.

Below are representative vulnerabilities related to this CWE, prioritized by severity.

Sources (5)

CWE™ Program, operated by The MITRE Corporation. Copyright © 2006–2026, The MITRE Corporation. The MITRE Corporation hereby grants you a non-exclusive, royalty-free license to use CWE for research, development, and commercial purposes. CWE Terms of Use.

Learn more

Run an in-depth assessment with complete web risk management

CyStack VulnScan continuously discovers assets, validates vulnerabilities, and helps security teams prioritize remediation across the organization.

Explore CyStack VulnScan