CWE-267 特权定义了不安全动作

Privilege Defined With Unsafe Actions

结构: Simple

Abstraction: Base

状态: Incomplete

被利用可能性: unkown

基本描述

A particular privilege, role, capability, or right can be used to perform unsafe actions that were not intended, even when it is assigned to the correct entity.

相关缺陷

  • cwe_Nature: ChildOf cwe_CWE_ID: 269 cwe_View_ID: 1000 cwe_Ordinal: Primary

适用平台

Language: {'cwe_Class': 'Language-Independent', 'cwe_Prevalence': 'Undetermined'}

常见的影响

范围 影响 注释
Access Control Gain Privileges or Assume Identity A user can access restricted functionality and/or sensitive information that may include administrative functionality and user accounts.

可能的缓解方案

MIT-1 ['Architecture and Design', 'Operation']

策略:

Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.

MIT-17 ['Architecture and Design', 'Operation']

策略: Environment Hardening

Run your code using the lowest privileges that are required to accomplish the necessary tasks [REF-76]. If possible, create isolated accounts with limited privileges that are only used for a single task. That way, a successful attack will not immediately give the attacker access to the rest of the software or its environment. For example, database applications rarely need to run as the database administrator, especially in day-to-day operations.

示例代码

This code intends to allow only Administrators to print debug information about a system.

bad Java

public enum Roles {
ADMIN,USER,GUEST
}

public void printDebugInfo(User requestingUser){
if(isAuthenticated(requestingUser)){
switch(requestingUser.role){
case GUEST:
System.out.println("You are not authorized to perform this command");
break;

default:
System.out.println(currentDebugState());
break;
}
}
else{
System.out.println("You must be logged in to perform this command");
}
}

While the intention was to only allow Administrators to print the debug information, the code as written only excludes those the with the role of "GUEST". Someone with the role of "ADMIN" or "USER" will be allowed access, which goes against the original intent. An attacker may be able to use this debug information to craft an attack on the system.

分析过的案例

标识 说明 链接
CVE-2002-1981 Roles have access to dangerous procedures (Accessible entities). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-1981
CVE-2002-1671 Untrusted object/method gets access to clipboard (Accessible entities). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-1671
CVE-2004-2204 Gain privileges using functions/tags that should be restricted (Accessible entities). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-2204
CVE-2000-0315 Traceroute program allows unprivileged users to modify source address of packet (Accessible entities). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2000-0315
CVE-2004-0380 Bypass domain restrictions using a particular file that references unsafe URI schemes (Accessible entities). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0380
CVE-2002-1154 Script does not restrict access to an update command, leading to resultant disk consumption and filled error logs (Accessible entities). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-1154
CVE-2002-1145 "public" database user can use stored procedure to modify data controlled by the database owner (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-1145
CVE-2000-0506 User with capability can prevent setuid program from dropping privileges (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2000-0506
CVE-2002-2042 Allows attachment to and modification of privileged processes (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-2042
CVE-2000-1212 User with privilege can edit raw underlying object using unprotected method (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2000-1212
CVE-2005-1742 Inappropriate actions allowed by a particular role(Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-1742
CVE-2001-1480 Untrusted entity allowed to access the system clipboard (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2001-1480
CVE-2001-1551 Extra Linux capability allows bypass of system-specified restriction (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2001-1551
CVE-2001-1166 User with debugging rights can read entire process (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2001-1166
CVE-2005-1816 Non-root admins can add themselves or others to the root admin group (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-1816
CVE-2005-2173 Users can change certain properties of objects to perform otherwise unauthorized actions (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-2173
CVE-2005-2027 Certain debugging commands not restricted to just the administrator, allowing registry modification and infoleak (Unsafe privileged actions). https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-2027

Notes

Maintenance This overlaps authorization and access control problems. Maintenance

分类映射

映射的分类名 ImNode ID Fit Mapped Node Name
PLOVER Unsafe Privilege

相关攻击模式

  • CAPEC-58
  • CAPEC-634
  • CAPEC-637
  • CAPEC-643
  • CAPEC-648

引用