673
The product does not handle or incorrectly handles when it has insufficient privileges to access
resources or functionality as specified by their permissions. This may cause it to follow unexpected
code paths that may leave the product in an invalid state.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name Page
ChildOf 755 Improper Handling of Exceptional Conditions 1576
PeerOf 636 Not Failing Securely ('Failing Open') 1401
Relevant to the view "Architectural Concepts" (CWE-1008)
Nature Type ID Name Page
MemberOf 1011 Authorize Actors 2425
Relevant to the view "Software Development" (CWE-699)
Nature Type ID Name Page
MemberOf 265 Privilege Issues 2316
MemberOf 275 Permission Issues 2317
Applicable Platforms
Language : Not Language-Specific (Prevalence = Undetermined)
Common Consequences
Scope Impact Likelihood
Other Other
Alter Execution Logic
Potential Mitigations
Phase: Architecture and Design
Strategy = Separation of Privilege
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.
Phase: Implementation
Always check to see if you have successfully accessed a resource or system functionality, and
use proper error handling if it is unsuccessful. Do this even when you are operating in a highly
privileged mode, because errors or environmental conditions might still cause a failure. For
example, environments with highly granular permissions/privilege models, such as Windows or
Linux capabilities, can cause unexpected failures.
Observed Examples
Reference Description
CVE-2003-0501 Special file system allows attackers to prevent ownership/permission change
of certain entries by opening the entries before calling a setuid program.
https://www.cve.org/CVERecord?id=CVE-2003-0501
CWE Version 4.14
CWE-281: Improper Preservation of Permissions
CWE-281: Improper Preservation of Permissions