为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。
2026年10月 SECURITY Brotli 解码器漏洞通告
概要
Google 的开源 Brotli 压缩库中的一个漏洞(CVE-2026-111497)于 2026 年 10 月 21 日公开披露。只有当应用程序程序解压缩攻击者可以Control的 Brotli 数据才会被暴露,方法是调用 压缩 解压缩的 SystempClient。Unity 自己的网络和资源加载中 API,包括 UnityWebRequest 和 AssetBundles,不使用 Brotli 解码器。当应用程序程序暴露时,一个精心构造的 Brotli 流可能会使其崩溃或在应用程序程序的权限关卡上运行代码。
随 Unity Editor 附带的 Unity 包管理器客户端也包含受影响的库,如果用户从恶意或受损的包注册表下载包,可能会受到影响。开发人员应更更新到已修补的Editor版本。
没有证据表明此漏洞在 Unity Applications程序中被利用,也未发现ONUsers或客户造成任何影响。Unity 在即将发布的 Editor 版本中推送上游修复。
漏洞细节
CVE ID:CVE-2026-111497
组件Unity 运行时时(Mono 原生、IL2CPP、CoreCLR)随附的 .NET 类中的 Brotli 解码器
上游受影响的版本:Brotli 1.0.3 至 1.2.0
上游已修复版本:Brotli 1.0.10, 1.1.1, 1.2.1
公开披露日期:2026 年 10 月 21 日
Brotli补丁可用日期:2026 年 10 月 21 日
受影响的版本:查看 Unity Editor 版本表
漏洞类型:Brotli 解码器中的缓冲区溢出 CWE-787
CVSS得分:9.2
CVSS 矢量字符串:CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
利用潜力
一个能够让 Unity 应用程序解压缩恶意 Brotli 流的攻击者可以使其崩溃或可能以应用程序的权限运行代码。
暴露:应用程序将从不受信任的来源(网络响应、Player 上传、User Generated Content、第三方服务器)接收到的数据传递给 BrotliStream 或 BrotliDecoder,或者使用启用了 Brotli 自动解压缩的 HttpClient。这包括在您Project的第三方库和Plugins中使用。
未暴露: 不会解压缩 Brotli 数据,或者只解压缩它们创建和控制的 Brotli 数据的 Applications。UnityWebRequest 不使用 Brotli。AssetBundles 和Other Unity 存档式仅支持 LZ4、LZ4HC 和 LZMA。Unity 的字体加载中不使用 Brotli。
Unity Editor: Editor 不以任何可被利用的方式使用 Brotli 解码器,只有一个例外。Unity 包管理器客户端在验证包签名之前会解压缩注册表响应,因此恶意或冒充的范围注册表可以触发器此漏洞。ON Windows 和 Mac 上,Binary进制保护将影响Limit在崩溃。ON Linux 上,可能存在代码执行。
没有证据表明此漏洞在 Unity Applications 中被利用。
受影响的平台
Brotli 解码器是随每个 Unity Player一起提供的 .NET 类的一部分,适用ONAll平台和脚本后端(Mono、IL2CPP、CoreCLR)。应用程序是否受到影响取决于它是否通过上述 API 解压缩不受信任的 Brotli 数据,而与它运行的平台无关。
Unity Editor 版本表
使用所列 Unity Editor 版本构建的应用程序,如果在满足上述条件的情况下,则被认为存在漏洞。
Unity 6000.0 及更高版本的补丁发布正在进行中。表将在每个补丁版本发布时已更新。最后已更新:2026 年 10 月 28 日。
- 6000.6.8f1
- 6000.3.27f1
- 6000.0.85f1
- 6000.6.8f1
- 6000.3.27f1
- 6000.0.85f1
其他 Unity 商品
发现
此漏洞存在于 Google 的开源 Brotli 库中,并已公开披露。没有直接报告给 Unity。Unity SECURITYTeam作为其响应的一部分,在 Unity 运行时类中识别了受影响的 Brotli 副本。
补救措施
重新构建应用程序
将 Unity Editor器更更新您发布线的补丁版本(参见 Unity Editor版本表),然后重新构建构建和重新部署应用程序程序。解码器包含在构建的应用程序内部,因此在不重新构建的情况下更新Editor器不会修复已发布的Applications程序。
如果您还不能更新
检查您的 Project,包括第三方库和 Plugins,看是否使用了 BrotliStream、BrotliDecoder 或带有 Brotli Automatic 解压缩的 HttpClient。如果None提供,您的应用程序程序就不会暴露。如果是这样,请移除其使用或停止向其传递不受信任的数据,直到您可以使用打了补丁的 Editor 版本重新构建。
对于包管理器,在您已更新之前,避免添加您不Control的范围注册表。请注意,eMudhra 证书问题(参见单独的建议)意味着信任注册表可能被冒充,因此更新 Editor 是唯一的彻底修复方法。
Unity 已修复版本
Unity Editor 首个已修复版本的直接链接(其中包含 Unity 运行时)。
每次发布补丁版本本时,链接将在此处添加。最后已更新:2026 年 10 月 28 日。