You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<!DOCTYPEqhelp PUBLIC "-//Semmle//qhelp//EN" "qhelp.dtd">
4
2
<qhelp>
5
3
6
-
<overview>
7
-
<p>Broadcast intents in an Android application are visible to all applications installed on the same mobile device, exposing all sensitive information they contain.</p>
8
-
<p>Broadcasts are vulnerable to passive eavesdropping or active denial of service attacks when an intent is broadcast without specifying any receiver permission or receiver application.</p>
9
-
</overview>
4
+
<overview>
5
+
<p>Broadcast intents in an Android application are visible to all applications installed on the same mobile device, exposing all sensitive information they contain.</p>
6
+
<p>Broadcasts are vulnerable to passive eavesdropping or active denial of service attacks when an intent is broadcast without specifying any receiver permission or receiver application.</p>
7
+
</overview>
10
8
11
-
<recommendation>
12
-
<p>Specify a receiver permission or application when broadcasting intents, or switch to <code>LocalBroadcastManager</code> or the latest <code>LiveData</code> library.</p>
13
-
</recommendation>
9
+
<recommendation>
10
+
<p>
11
+
Specify a receiver permission or application when broadcasting intents, or switch to
12
+
<code>LocalBroadcastManager</code>
13
+
or the latest
14
+
<code>LiveData</code>
15
+
library.
16
+
</p>
17
+
</recommendation>
14
18
15
-
<example>
16
-
<p>The following example shows two ways of broadcasting intents. In the 'BAD' case, no "receiver permission" is specified. In the 'GOOD' case, "receiver permission" or "receiver application" is specified.</p>
17
-
<samplesrc="SensitiveBroadcast.java" />
18
-
</example>
19
+
<example>
20
+
<p>The following example shows two ways of broadcasting intents. In the 'BAD' case, no "receiver permission" is specified. In the 'GOOD' case, "receiver permission" or "receiver application" is specified.</p>
21
+
<samplesrc="SensitiveBroadcast.java" />
22
+
</example>
19
23
20
-
<references>
21
-
<li>
22
-
<ahref="https://cwe.mitre.org/data/definitions/927.html">CWE-927: Use of Implicit Intent for Sensitive Communication</a>
23
-
</li>
24
-
</references>
24
+
<references>
25
+
<li>
26
+
CWE:
27
+
<ahref="https://cwe.mitre.org/data/definitions/927.html">CWE-927: Use of Implicit Intent for Sensitive Communication</a>
28
+
</li>
29
+
<li>
30
+
Android Developers:
31
+
<ahref="https://developer.android.com/guide/components/broadcasts">Security considerations and best practices for sending and receiving broadcasts</a>
32
+
</li>
33
+
<li>
34
+
sonarsource:
35
+
<ahref="https://rules.sonarsource.com/java/type/Security%20Hotspot/RSPEC-5320">Broadcasting intents is security-sensitive</a>
<ahref="https://wiki.sei.cmu.edu/confluence/display/android/DRD03-J.+Do+not+broadcast+sensitive+information+using+an+implicit+intent">DRD03-J. Do not broadcast sensitive information using an implicit intent</a>
0 commit comments