CWE-271 · Słabość
Privilege Dropping / Lowering Errors
- Abstrakcja
- Klasa
- Status
- Niekompletny
- Ryzyko wykorzystania
- wysokie
- Dodano
- 19 lipca 2006
- Ostatnia zmiana
- 29 czerwca 2023
Opis
The product does not drop privileges before passing control of a resource to an actor that does not have those privileges.
In some contexts, a system executing with elevated permissions will hand off a process/file/etc. to another process or user. If the privileges of an entity are not reduced, then elevated privileges are spread throughout a system and possibly to an attacker.
Skutki
Access Control
Gain Privileges or Assume Identity
If privileges are not dropped, neither are access rights of the user. Often these rights can be prevented from being dropped.
Access Control, Non-Repudiation
Gain Privileges or Assume Identity; Hide Activities
If privileges are not dropped, in some cases the system may record actions as the user which is being impersonated rather than the impersonator.
Zapobieganie
Architecture and Design · 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.
Architecture and Design, Operation
Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
Architecture and Design · Separation of Privilege
Consider following the principle of separation of privilege. Require multiple conditions to be met before permitting access to a system resource.
Przykłady podatności
- CVE-2000-1213 Program does not drop privileges after acquiring the raw socket.
- CVE-2001-0559 Setuid program does not drop privileges after a parsing error occurs, then calls another program to handle the error.
- CVE-2001-0787 Does not drop privileges in related groups when lowering privileges.
- CVE-2002-0080 Does not drop privileges in related groups when lowering privileges.
- CVE-2001-1029 Does not drop privileges before determining access to certain files.
- CVE-1999-0813 Finger daemon does not drop privileges when executing programs on behalf of the user being fingered.
- CVE-1999-1326 FTP server does not drop privileges if a connection is aborted during file transfer.
- CVE-2000-0172 Program only uses seteuid to drop privileges.
- CVE-2004-2504 Windows program running as SYSTEM does not drop privileges before executing other programs (many others like this, especially involving the Help facility).
- CVE-2004-0213 Utility Manager launches winhlp32.exe while running with raised privileges, which allows local users to gain system privileges.
- CVE-2004-0806 Setuid program does not drop privileges before executing program specified in an environment variable.
- CVE-2004-0828 Setuid program does not drop privileges before processing file specified on command line.
- CVE-2004-2070 Service on Windows does not drop privileges before using "view file" option, allowing code execution.
Słabość nadrzędna
Słabości podrzędne
Kiedy powstaje
- Architecture and Design
- Implementation — REALIZATION: This weakness is caused during implementation of an architectural security tactic.
- Operation
Dotyczy
Not Language-Specific
Uwagi
CWE-271, CWE-272, and CWE-250 are all closely related and possibly overlapping. CWE-271 is probably better suited as a category.
Źródła
- 24 Deadly Sins of Software Security — Michael Howard, David LeBlanc, John Viega, "Sin 16: Executing Code With Too Much Privilege." Page 243, McGraw-Hill, 2010
- The Art of Software Security Assessment — Mark Dowd, John McDonald, Justin Schuh, Chapter 9, "Dropping Privileges Permanently", Page 479, Addison Wesley, 2006
Wpis z katalogu CWE 4.20.