漏洞概况
GMO Flatt Security公司安全研究员RyotaK(@ryotkak)发现Unity Runtime中存在一个严重漏洞(CVE-2025-59489,CVSS评分8.4),可能导致数百万使用Unity引擎开发的Android及跨平台游戏面临本地文件包含和代码执行攻击。Unity官方公告指出:"使用受影响版本Unity Editor构建的应用程序,根据操作系统不同,可能遭受不安全的文件加载和本地文件包含攻击,导致在易受攻击应用程序的权限级别执行本地代码或泄露信息。"
技术原理
该漏洞源于Unity Runtime for Android的intent处理机制。UnityPlayerActivity(大多数Unity构建的Android应用的默认入口点)会自动为unity intent extra添加处理程序。这个原本用于调试的功能会将unity extra解析为命令行参数,使攻击者能够通过控制参数实现代码注入:
- 攻击者可在恶意APK中包含恶意共享库(.so文件)
- 向Unity应用活动发送带有"-xrsdk-pre-init-library /data/local/tmp/malicious.so"参数的intent
- 触发Unity应用在其进程权限下加载并执行恶意代码
攻击场景
本地攻击
攻击者通过已安装的恶意应用,可继承流行Unity游戏或应用的权限,获取GPS定位、摄像头数据或应用内用户凭证等敏感信息。
远程攻击(受限)
当应用导出带有android.intent.category.BROWSABLE类别的UnityPlayerActivity时,恶意网站可通过如下格式的链接实施攻击:
intent:#Intent;package=com.example.unitygame;scheme=custom-scheme;S.unity=-xrsdk-pre-init-library%20/data/local/tmp/malicious.so;end;
虽然Android的SELinux策略会阻止从下载目录加载文件,但若应用将攻击者控制的文件写入私有存储(如缓存网页内容),仍可能实现远程利用。
受影响平台
平台 | 影响 | 严重性 |
---|---|---|
Android | 代码执行/权限提升 | 高危 |
Windows | 权限提升 | 高危 |
macOS | 权限提升 | 高危 |
Linux(桌面&嵌入式) | 权限提升 | 高危 |
修复方案
Unity已为2019.1及之后的所有支持版本和部分停止支持版本发布补丁,修复版本包括:
- 6000.0.58f2(LTS)
- 2022.3.67f2(xLTS)
- 2021.3.56f2(xLTS)
- 2020.3.49f1
- 2019.4.41f1
对于无法重新编译的遗留项目,Unity提供了Binary Patch工具实现热修复。安全专家强烈建议开发者立即更新Unity版本并重新编译发布应用。
参考来源:
Unity Flaw CVE-2025-59489 Allows Local Code Execution in Millions of Games
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)