|
|
|
|
CWE-280 Individual Dictionary Definition (Draft 9)
Weakness ID
| Status: Draft 280 (Weakness Base) | | Description | Summary The application does not properly handle when it has insufficient permissions or
privileges to access resources or system functionality, causing it to follow unexpected code paths
that may leave the application in an invalid state. | | Potential Mitigations | Very carefully manage the setting, management and handling of permissions. Explicitly
manage trust zones in the software. Design: Ensure that appropriate compartmentalization is built into the system design
and that the compartmentalization serves to allow for and further reinforce privilege
separation functionality. Architects and designers should rely on the principle of least
privilege to decide when it is appropriate to use and to drop system privileges, but they
should also plan for cases in which those privileges might fail. 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. | | CVE-2004-0148 | FTP server places a user in the root directory when the user's permissions prevent
access to his/her own home directory. |
| | Context Notes | This can be both primary and resultant. When primary, it can expose a variety of
weaknesses because a resource might not have the expected state, and subsequent operations might
fail. It is often resultant from Unchecked Error Condition (CWE-391). | | Research Gaps | This type of issue is under-studied, since researchers often concentrate on whether an
object has too many permissions, instead of not enough. These weaknesses are likely to appear in
environments with fine-grained models for permissions and privileges, which can include operating
systems and other large-scale software packages. However, even highly simplistic
permission/privilege models are likely to contain these issues if the developer has not considered
the possibility of access failure. | | Relationships | | | Source Taxonomies | PLOVER - Fails poorly due to insufficient permissions | | Applicable Platforms | All |
|