Blankj / Blankj/AndroidUtilCode

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

オープン
#1,794 コメント 2 件 リアクション 0 件 担当者 1 名 @Blankj が担当を希望しています GitHub で見る
bug
主要言語
Java
スター
33.6k
フォーク
10.6k
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。