CWE-284: Improper Access Control

PillarIncomplete

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

View on MITRE
Back to CWE Lookup

Extended Description

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.

Technical Details

Structure
Simple
Vulnerability Mapping
DISCOURAGED

Applicable To

Languages
Not Language-Specific
Platforms

Source-backed guidance

Additional facts reviewed against primary or authoritative security sources.

Combine review and analysis around the CWE-284 trust boundary

CWE-284 is a high-level access-control pillar, so detection begins by mapping the finding to its concrete child weakness and intended policy. Use them to decompose the high-level access-control pillar into concrete authentication, authorization, ownership, and privilege rules, then test enforcement at each resource boundary. Require a reproducible source-to-sink or policy-to-enforcement trace, record coverage gaps, and confirm suspected findings dynamically where safe; no single scanner can establish complete coverage for this weakness.

CWE-284: detection methods and operational guidanceMITRE CWE

Apply deny-by-default access control at every trust boundary

Inventory protected resources and operations, then enforce a server-side, deny-by-default policy using least privilege. Separate authentication from authorization, prevent identifier manipulation from selecting another user’s object, constrain cross-origin access, and log failures. Map broad CWE-284 findings to a more precise child weakness when the missing or incorrect control is known.

OWASP Top 10:2025 A01 Broken Access ControlOWASP Foundation

Apply lessons from CVE-2025-31125 in Vite development server

NVD maps CVE-2025-31125 to CWE-284; improper access control exposed content from files outside the allowed set through crafted import query combinations when the development server was network-accessible. Use the case to keep development servers off untrusted networks and test every query-form variant against the same canonical file-authorization policy.

CVE-2025-31125 DetailNIST National Vulnerability Database

Prioritize CWE-284 using its 2025 CWE Top 25 evidence

CWE-284 ranked #19 in the 2025 CWE Top 25 with a score of 4.07. The ranking table recorded 1 mapped vulnerability in CISA KEV for this measurement window. Use the rank to prioritize systemic prevention, detection coverage, and recurring-root-cause metrics across the portfolio, while retaining asset exposure and business impact for individual finding severity decisions.

2025 CWE Top 25 Most Dangerous Software WeaknessesMITRE CWE

Exercise access control across every resource and operation

Define the permitted user, resource, operation, and contextual attributes for each authorization decision. Deny access by default, enforce least privilege, and validate permission on every request through a centralized control. Test horizontal and vertical privilege boundaries, alternate methods, direct identifiers, and non-browser clients so an overlooked path cannot bypass the intended policy.

Authorization Cheat SheetOWASP Foundation

Frequently Asked Questions

What is CWE-284: Improper Access Control?+

CWE-284: Improper Access Control is a Common Weakness Enumeration (CWE) entry maintained by MITRE. 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.

What are the security consequences of Improper Access Control?+

If exploited, CWE-284 (Improper Access Control) it can compromise Other, leading to outcomes such as Varies by Context.

Which programming languages are affected by Improper Access Control?+

CWE-284 commonly affects Not Language-Specific. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What are real-world examples of Improper Access Control?+

MITRE documents real CVEs mapped to CWE-284, including CVE-2023-26463, CVE-2022-24985, CVE-2022-29238, CVE-2022-23607 and CVE-2021-21972. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-284 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More

Advertisement