1827
ParentOf 925 Improper Verification of Intent by Broadcast Receiver 1831
Relevant to the view "Architectural Concepts" (CWE-1008)
Nature Type ID Name Page
MemberOf 1014 Identify Actors 2429
Relevant to the view "Software Development" (CWE-699)
Nature Type ID Name Page
MemberOf 417 Communication Channel Errors 2325
Applicable Platforms
Language : Not Language-Specific (Prevalence = Undetermined)
Technology : Mobile (Prevalence = Undetermined)
Common Consequences
Scope Impact Likelihood
Access Control
Other
Gain Privileges or Assume Identity
Varies by Context
An attacker can access any functionality that is
inadvertently accessible to the source.
Potential Mitigations
Phase: Architecture and Design
Use a mechanism that can validate the identity of the source, such as a certificate, and validate
the integrity of data to ensure that it cannot be modified in transit using an Adversary-in-the-
Middle (AITM) attack. When designing functionality of actions in the URL scheme, consider
whether the action should be accessible to all mobile applications, or if an allowlist of applications
to interface with is appropriate.
Demonstrative Examples
Example 1:
This Android application will remove a user account when it receives an intent to do so:
Example Language: Java (Bad)
IntentFilter filter = new IntentFilter("com.example.RemoveUser");
MyReceiver receiver = new MyReceiver();
registerReceiver(receiver, filter);
public class DeleteReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int userID = intent.getIntExtra("userID");
destroyUserData(userID);
}
}
CWE Version 4.14
CWE-940: Improper Verification of Source of a Communication Channel
CWE-940: Improper Verification of Source of a Communication Channel