Blankj / Blankj/AndroidUtilCode

NetworkUtils安全检测到动态注册广播风险

Offen
#1,794 2 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @Blankj Auf GitHub ansehen
bug
Vorherrschende Sprache
Java
Sterne
33.6k
Forks
10.6k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## 描述 Bug

简洁地描述下 Bug。

- AndroidUtilCode 的版本:com.blankj:utilcodex:1.31.1
NetworkUtils安全检测到动态注册广播风险,如果在动态注册时采用的全局方式进行注册,则这个receiver在生命周期中默认是可导出的,如果没有设置访问权限,系统应用或者第三方应用可以操作此receiver,导致敏感信息泄露,可能受到权限绕过、拒绝服务等攻击。

## 相关代码

`
文件:
com.blankj.utilcode.util.NetworkUtils$NetworkChangedReceiver$1.java
方法:
public void run()
代码:
v1.registerReceiver(v2, v0);
`

## 建议修复
1.使用 LocalBroadcastManager 来替代registerReceiver注册,保证数据传递仅限于应用内。
2.使用registerReceiver(BroadcastReceiver, IntentFilter,
broadcastPermission,android.os.Handle)替代registerReceiver(BroadcastReceiver, IntentFilter),检验权限。
3.在 AndroidManifest.xml 文件中静态注册BroadcastReceiver,同时设置 exported="false"。

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.