CWE-284: Improper Access Control
The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.
How it's found
Improper Access Control is a broad weakness category rather than one exact bug. Testers narrow it down through manual code review and architecture review to identify which of its more specific child weaknesses actually appears in a given target, then confirm each one individually.
Access control involves the use of several protection mechanisms such as: 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: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) 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.
Consequences
- Varies by Context
Mitigations
- Architecture and Design/Operation: Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
- Architecture and Design: Compartmentalize 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.
How TurboPentest tests for this (white-box)
This weakness (Improper Access Control) is caught by white-box static analysis when you connect a GitHub repo: IntegSec's Opengrep SAST rule pack carries 1 rule for it, flagging the issue directly in your source code as part of the pentest.
Frequently asked questions
What is CWE-284?
The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.
How do you find Improper Access Control?
Improper Access Control is a broad weakness category rather than one exact bug. Testers narrow it down through manual code review and architecture review to identify which of its more specific child weaknesses actually appears in a given target, then confirm each one individually.
What is the impact of CWE-284?
Varies by Context
Does TurboPentest test for Improper Access Control?
This weakness (Improper Access Control) is caught by white-box static analysis when you connect a GitHub repo: IntegSec's Opengrep SAST rule pack carries 1 rule for it, flagging the issue directly in your source code as part of the pentest.
Written and reviewed by
Michel Chamberland - Founder & CEO, IntegSec
CISSP, OSCP, OSCE, CEH, GIAC, CCSK · 20+ years in offensive security
Michel has spent 20+ years on offensive security teams including IBM X-Force Red and Trustwave SpiderLabs, leading penetration tests, red team engagements, and breach response for Fortune 500 customers. He is the founder of IntegSec and the architect of TurboPentest.
Find these issues before an attacker does
TurboPentest runs an agentic AI pentest against your target and reports findings with proof, from $99 per target.
Start a pentest