自定义公共事件未加权限校验会有安全风险

发送通知使用系统API publish实现,通知中会构建一个WantAgentInfo,其实包含业务场景的用户操作 actionButtons(用户的点击动作),例如通话中的挂断、拒接等,当用户操作通知后会发送对应的公共事件。

发送时WantAgentInfo中包含BundleName,但是在接收时这个值并不能用来校验发送方的身份,因为这个值表示希望接收的应用包名。

问题影响:

在通话退到后台成功发送通知时,在命令窗口执行命令:hdc shell cem publish -e 'hangUp',电话会挂断。

由于在接收时并没有校验发送方的身份,导致可以模拟对应的公共事件,影响业务。

HarmonyOS
2024-06-13 10:53:59
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
dickhome

1、在接收公共事件的时候可以使用系统级别权限校验发送方的身份;在接收公共事件的订阅信息 CommonEventSubscribeInfo 中包含 publisherPermission,表示发送方只有这个权限才可以将此公共事件发送到订阅方;

2、尝试使用现有的系统公共事件或者申请将目标事件列为系统级别的公共事件;

分享
微博
QQ
微信
回复
2024-06-13 21:02:34
相关问题
用户订阅系统公共事件
914浏览 • 1回复 待解决
公共事件有哪些简单使用
797浏览 • 1回复 待解决
公共事件实现跨进程通信
745浏览 • 1回复 待解决
如何把公共事件发布给其他设备
4224浏览 • 1回复 待解决
公共事件的生命周期是怎样的
1449浏览 • 1回复 待解决
返回按钮是否可以自定义事件
132浏览 • 1回复 待解决
HarmonyOS 自定义组件的事件处理
268浏览 • 1回复 待解决
是否可以自定义权限弹框文字
1576浏览 • 1回复 待解决
如何实现H5自定义事件
2180浏览 • 1回复 待解决
自定义弹窗自定义转场动画
892浏览 • 1回复 待解决