Skip to content

Commit 392e2ee

Browse files
committed
Add intent creation from a URI as a taint step
1 parent d1d2d61 commit 392e2ee

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

java/ql/lib/semmle/code/java/frameworks/android/Intent.qll

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,9 @@ private class IntentComponentTaintSteps extends SummaryModelCsv {
249249
"android.content;Intent;true;Intent;(Intent);;Argument[0];Argument[-1];taint",
250250
"android.content;Intent;true;Intent;(Context,Class);;Argument[1];Argument[-1];taint",
251251
"android.content;Intent;true;Intent;(String,Uri,Context,Class);;Argument[3];Argument[-1];taint",
252+
"android.content;Intent;true;getIntent;(String);;Argument[0];ReturnValue;taint",
253+
"android.content;Intent;true;getIntentOld;(String);;Argument[0];ReturnValue;taint",
254+
"android.content;Intent;true;parseUri;(String,int);;Argument[0];ReturnValue;taint",
252255
"android.content;Intent;true;setPackage;;;Argument[0];Argument[-1];taint",
253256
"android.content;Intent;true;setPackage;;;Argument[-1];ReturnValue;taint",
254257
"android.content;Intent;true;setClass;;;Argument[1];Argument[-1];taint",

java/ql/test/query-tests/security/CWE-940/AndroidIntentRedirectionTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,18 @@ public void onCreate(Bundle savedInstanceState) {
179179
// Conditionally tainted sinks aren't supported currently
180180
startActivity(fwdIntent); // $ MISSING: $hasAndroidIntentRedirection
181181
}
182+
{
183+
Intent fwdIntent = Intent.parseUri(getIntent().getStringExtra("uri"), 0);
184+
startActivity(fwdIntent); // $ hasAndroidIntentRedirection
185+
}
186+
{
187+
Intent fwdIntent = Intent.getIntent(getIntent().getStringExtra("uri"));
188+
startActivity(fwdIntent); // $ hasAndroidIntentRedirection
189+
}
190+
{
191+
Intent fwdIntent = Intent.getIntentOld(getIntent().getStringExtra("uri"));
192+
startActivity(fwdIntent); // $ hasAndroidIntentRedirection
193+
}
182194
} catch (Exception e) {
183195
}
184196
}

0 commit comments

Comments
 (0)