小米、WPS Office 等热门 Android 应用存在文件覆盖漏洞
时间:2024-5-6 11:29 作者:之参博客 分类: 网络相关
Google Play 商店中提供的多个流行 Android 应用程序容易受到代号为Dirty Stream攻击的路径遍历相关漏洞的影响,恶意应用程序可能会利用该漏洞覆盖易受攻击的应用程序主目录中的任意文件。
微软威胁情报团队的 Dimitrios Valsamaras在周三发布的一份报告中表示:“此漏洞模式的影响包括任意代码执行和令牌盗窃,具体取决于应用程序的实现。”
成功利用该漏洞可能使攻击者能够完全控制应用程序的行为,并利用被盗的令牌对受害者的在线帐户和其他数据进行未经授权的访问。
发现容易受到该问题影响的两个应用程序如下 -
小米文件管理器 (com.mi.Android.globalFileexplorer) - 安装量超过 10 亿次
WPS Office (cn.wps.moffice_eng) - 超过 5 亿次安装
虽然 Android 通过为每个应用程序分配自己的专用数据和内存空间来实现隔离,但它提供了所谓的内容提供程序,以促进应用程序之间以安全的方式共享数据和文件。但实施疏忽可能会绕过应用程序主目录中的读/写限制。
“这种基于内容提供商的模型提供了明确定义的文件共享机制,使服务应用程序能够通过细粒度控制以安全的方式与其他应用程序共享其文件,”Valsamaras 说。
“但是,我们经常遇到这样的情况:消费应用程序不验证其接收到的文件的内容,最令人担忧的是,它使用服务应用程序提供的文件名将接收到的文件缓存在消费应用程序的内部数据目录中”。
当服务应用程序声明FileProvider 类的恶意版本以启用应用程序之间的文件共享时,此陷阱可能会产生严重后果,并最终导致使用应用程序覆盖其私有数据空间中的关键文件。
换句话说,该机制利用了这样一个事实:消费应用程序盲目信任输入,通过自定义、明确的意图,在用户不知情或同意的情况下发送具有特定文件名的任意有效负载,从而导致代码执行。
因此,这可能允许攻击者覆盖目标应用程序的共享首选项文件,并使其与受其控制的服务器通信以窃取敏感信息。
另一种情况涉及从自己的数据目录(而不是“/data/app-lib”)加载本机库的应用程序,在这种情况下,恶意应用程序可以利用上述弱点,用恶意代码覆盖本机库,这些代码在库已加载。
经过负责任的披露,小米和 WPS Office 均已于 2024 年 2 月纠正了该问题。不过,微软表示该问题可能会更加普遍,要求开发者采取措施检查其应用程序是否存在类似问题。
谷歌还就此事发布了自己的指南,敦促开发人员正确处理服务器应用程序提供的文件名。
谷歌表示:“当客户端应用程序将接收到的文件写入存储时,它应该忽略服务器应用程序提供的文件名,而使用自己内部生成的唯一标识符作为文件名。” “如果生成唯一的文件名不切实际,客户端应用程序应该清理提供的文件名。”