关于Unity安卓包违反了谷歌设备和网络滥用政策,问题的解决( CVE-2025-59489)

特色

运营反馈我们的包被谷歌警告了,说我们的包违反了网络滥用政策,具体原因是说Unity2017之后的版本有一个漏洞,但是没有说是什么漏洞,这真是大海捞针,于是通过不断的查找,发现确实有其他人也遇到这个问题,具体漏洞就是( CVE-2025-59489),所以决定记录一下。

具体漏洞详情

CVE ID: CVE-2025-59489

发现日期: 2025年6月4日

发现者: GMO Flatt Security Inc. 的 RyotaK

补丁发布日期: 2025年10月2日

受影响的操作系统:请参阅受影响的操作系统表

受影响版本:请参阅 Unity 编辑器版本表

已打补丁的版本:请参阅 Unity 编辑器版本表

漏洞类型: CWE-426:不受信任的搜索路径

严重程度:

CVSS评分: 8.4

CVSS 向量字符串: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

开发潜力

该漏洞可能允许在运行 Unity 应用程序的终端用户设备上执行本地代码并访问机密信息。代码执行权限将限制在易受攻击应用程序的权限级别内,信息泄露也将仅限于易受攻击应用程序可访问的信息。目前没有证据表明该漏洞已被利用,也没有对用户或客户造成任何影响。

Unity编辑器版本表

使用指定版本的 Unity 编辑器在补丁版本之前构建的应用程序被认为存在漏洞。

当前支持版本

受影响版本已打补丁版本
6000.3全部6000.3.0b4
6000.2全部6000.2.6f2
6000.0 升全部6000.0.58f2
2022.3 xLTS全部2022.3.67f2
2021.3 xLTS全部2021.3.56f2

我们已将修复程序扩展到已停止支持的 Unity 编辑器版本,包括 Unity 2019.1 及更高版本。

已停止支持的版本

受影响版本已打补丁版本
6000.1全部6000.1.17f1
2023.2全部2023.2.22f1
2023.1全部2023.1.22f1
2022.3 LTS全部2022.3.62f2
2022.2全部2022.2.23f1
2022.1全部2022.1.25f1
2021.3 LTS全部2021.3.45f2
2021.2全部2021.2.20f1
2021.1全部2021.1.29f1
2020.3全部2020.3.49f1
2020.2全部2020.2.8f1
2020.1全部2020.1.18f1
2019.4 LTS全部2019.4.41f1
2019.3全部2019.3.17f1
2019.2全部2019.2.23f1
2019.1全部2019.1.15f1
2018.4全部不适用
2018.3全部不适用
2018.2全部不适用
2018.1全部不适用
2017.4全部不适用
2017.32017.3.0b9+不适用
2017.22017.2.0p4+不适用
2017.12017.1.2p4+不适用

解决方案其实有2种:

第一是升级你的引擎,具体版本请查看以上官方公布的。

第二就是使用Unity提供的工具给你的安卓包重新打一个包。

打补丁方法如下:

Unity Windows版补丁

Mac版补丁(Apple Silicon Mac)

Mac版补丁(适用于英特尔 Mac)

Linux版补丁

以windos版为例


1.解压压缩包后打开此执行文件

2.找到自己安装包路径,然后点击修补

注意:
1.安装包路径不要有中文

2.版本代码要比原来的高,查询版本可以看到当前版本,如果想保持版本不变,就填0

Static Batching、Dynamic Batching 、GPU Instancing的对比

  1. 什么是 GPU Instancing?
    GPU Instancing(GPU 实例化)是一种现代图形渲染技术,允许你用一次 Draw Call在 GPU 上同时渲染大量相同 Mesh 和材质但变换(位置、旋转、缩放)不同的物体。

典型应用:大面积草地、森林、士兵、金币、粒子等。

  1. 原理简述
    传统渲染:每个物体一个 Draw Call,CPU 需要多次提交渲染指令,效率低。
    Instancing:CPU 只发一次 Draw Call,告诉 GPU:“这是同一个模型和材质,但有 N 个实例,每个实例有不同的变换矩阵(和可选参数)。”
    GPU 在渲染时自动为每个实例应用不同的变换和属性。
  2. Unity 中的 GPU Instancing
    开启方式:在材质面板勾选“Enable GPU Instancing”即可。
    代码方式:使用 Graphics.DrawMeshInstanced、DrawMeshInstancedIndirect 等 API。
    Shader 支持:Shader 里要支持 instancing(Unity 标准 Shader 已支持)。
  3. 优点
    极大减少 Draw Call 数量,大幅提升渲染效率。
    CPU 负担小,适合大量重复物体。
    支持每个实例不同的变换、颜色等属性(通过 instanced properties)。
  4. 局限与注意事项
    所有实例必须用同一个 Mesh 和材质(但可以通过 instanced properties 传递不同参数)。
    不支持完全不同的模型或材质。
    Shader 必须支持 Instancing。
    每次 Draw Call 的实例数量有上限(通常 500~1000,受平台和 API 限制)。