Intent Redirection Vulnerability
Risk: High - MASVS_CODE_4
Overview
The Code: Intent Redirection Vulnerability
Intent intent = getIntent();
// Get the component name of the nested intent.
Intent forward = (Intent) intent.getParcelableExtra("key");
ComponentName name = forward.resolveActivity(getPackageManager());
// Check that the package name and class name contain the expected values.
if (name.getPackageName().equals("safe_package") &&
name.getClassName().equals("safe_class")) {
// Redirect the nested intent.
startActivity(forward);
}Step-by-Step Explanation
Intent intent = getIntent();Intent forward = (Intent) intent.getParcelableExtra("key");ComponentName name = forward.resolveActivity(getPackageManager());if (name.getPackageName().equals("safe_package") && name.getClassName().equals("safe_class")) {startActivity(forward);
Where is the Vulnerability?
Example of Exploiting the Vulnerability
How to Mitigate the Vulnerability
Resources
Last updated
