结构: Simple
Abstraction: Base
状态: Incomplete
被利用可能性: High
Security based on event locations are insecure and can be spoofed.
Events are a messaging system which may provide control data to programs listening for events. Events often do not have any type of authentication framework to allow them to be verified from a trusted source. Any application, in Windows, on a given desktop can send a message to any window on the same desktop. There is no authentication framework for these messages. Therefore, any message can be used to manipulate any process on the desktop if the process does not check the validity and safeness of those messages.
cwe_Nature: ChildOf cwe_CWE_ID: 345 cwe_View_ID: 1000 cwe_Ordinal: Primary
cwe_Nature: ChildOf cwe_CWE_ID: 345 cwe_View_ID: 699 cwe_Ordinal: Primary
Language: {'cwe_Class': 'Language-Independent', 'cwe_Prevalence': 'Undetermined'}
范围 | 影响 | 注释 |
---|---|---|
['Integrity', 'Confidentiality', 'Availability', 'Access Control'] | ['Gain Privileges or Assume Identity', 'Execute Unauthorized Code or Commands'] | If one trusts the system-event information and executes commands based on it, one could potentially take actions based on a spoofed identity. |
策略:
Never trust or rely any of the information in an Event for security.
This example code prints out secret information when an authorized user activates a button:
bad Java
This code does not attempt to prevent unauthorized users from activating the button. Even if the button is rendered non-functional to unauthorized users in the application UI, an attacker can easily send a false button press event to the application window and expose the secret information.
映射的分类名 | ImNode ID | Fit | Mapped Node Name |
---|---|---|---|
CLASP | Trust of system event data | ||
Software Fault Patterns | SFP29 | Faulty endpoint authentication |