Blankj / Blankj/AndroidUtilCode

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

Aperta
#1,794 2 commenti 0 reazioni 1 assegnatario Rivendicata da @Blankj Vedi su GitHub
bug
Lingua principale
Java
Stelle
33.6k
Fork
10.6k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## 描述 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"。

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.