Overview
Security based on event locations are insecure and can be
spoofed.
Consequences
- Authorization: If one trusts the system-event
information and executes commands based on it, one could
potentially take actions based on a spoofed identity.
Exposure
period
- Design through Implementation: Trusting
unauthenticated information for authentication is a
design flaw.
Platform
Required
resources
Any
Severity
High
Likelihood
of
exploit
High
Avoidance
and
mitigation
- Design through Implementation: Never trust or rely
any of the information in an Event for security.
Discussion
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.
Examples
In Java:
public void actionPerformed(ActionEvent e) {
if (e.getSource()==button)
System.out.println("print out secret information");
}