苹果修复了两个在定向攻击中被利用的Webkit漏洞,其中一个与谷歌ANGLE漏洞同源

CVE-2025-43529 和 CVE-2025-14174 两个 WebKit 漏洞,由谷歌威胁分析小组(Google Threat Analysis Group)发现。 苹果官方已确认,现有证据表明有黑客利用这两个漏洞,可以对旧版 iOS 用户发起极为复杂的定向攻击。新版本通过改进内存管理和验证机制,彻底阻断了恶意网页内容触发"任意代码执行"的风险。

https://support.apple.com/en-us/125884

谷歌后续更新了关于CVE-2025-14174漏洞描述,定义为ANGLE 中的内存越界访问。

ANGLE 是一个开源项目Almost Native Graphics Layer Engine,是谷歌开发的开源图形层引擎,主要用于将 OpenGL ES 调用翻译成其他后端(如 DirectX、Vulkan 或 Metal),以实现跨平台兼容性。

https://chromium.googlesource.com/angle/angle/+/master/README.md

然而,在苹果生态中,ANGLE 的 Metal 后端(由苹果团队贡献并上游到官方 ANGLE 项目)被用于某些场景,特别是 WebGL 渲染。

Safari 浏览器(基于 WebKit):

在 macOS 和 iOS 上,使用 ANGLE 的 Metal 后端来实现 WebGL(将 OpenGL ES 翻译为 Metal 调用)。这允许 WebGL 内容在苹果设备上高效运行,利用原生 Metal 性能。

Google Chrome 浏览器(在 macOS 上):

也使用 ANGLE 的 Metal 后端作为 WebGL 的默认渲染器(可在 chrome://gpu 中查看,Renderer 通常显示为 "ANGLE (Apple, ANGLE Metal Renderer: ... )")。

https://developer.apple.com/cn/metal/

黑鸟查了一下,确有此事,Safari/WebKit 使用 ANGLE 的 Metal 后端实现 WebGL历史材料如下:

WebKit 官方 Wiki:AngleforWebGL

https://trac.webkit.org/wiki/AngleforWebGL

明确说明:"WebKit has integrated the ANGLE project as its primary WebGL backend",并描述了在 macOS 和 iOS 上使用 Metal 后端来实现高效的 WebGL 渲染。

WebKit Bugzilla:Enable Metal ANGLE backend for WebGL

https://bugs.webkit.org/show_bug.cgi?id=220076

这是 WebKit 团队启用 ANGLE Metal 后端的官方 Bug 跟踪,确认了在 Safari 中将 OpenGL ES 调用翻译为 Metal。

Khronos Group 官方博客(2022):WebGL 2.0 Achieves Pervasive Support

https://www.khronos.org/blog/webgl-2-achieves-pervasive-support-from-all-major-web-browsers

提到:"Apple adopted ANGLE as the basis for Safari's WebGL implementation... Safari now runs WebGL on top of Metal on recent iOS and macOS devices."

同时还提到 Apple 和 Google 团队合作,将 Chrome 也切换到 ANGLE 的 Metal 后端,以共享代码库并提升性能。

Apple 团队贡献 Metal 后端并上游到官方 ANGLE 项目

ANGLE 项目讨论与贡献记录(Google Groups / Chromium Bug)

Apple 工程师从 2019 年起大幅贡献 Metal 后端代码,并逐步上游合并到主干 ANGLE 项目

https://chromium.googlesource.com/angle/angle)。这在 Khronos 博客和 Wikipedia 中也有提及。

Google Chrome 在 macOS 上使用 ANGLE Metal 后端

Chrome 的 chrome://gpu 页面(用户可直接查看)

在 macOS 上运行 Chrome,访问 chrome://gpu,会显示 WebGL Renderer 为 "ANGLE (Apple, ANGLE Metal Renderer: ... )",确认默认使用 ANGLE 的 Metal 后端。

大概率问题出自此处。

可以在你常用的应用中,有浏览器功能的,打开一个 WebGL 测试页面,

例如:https://get.webgl.org/https://webglreport.com/?v=2 在页面中查看 Renderer 或 Unmasked Renderer 字段。

如果有使用,估计可以等poc出来测一下应用内置ANGLE引擎然后没更新导致的安全风险,当然这段时间,就要等着被这个洞的攻击者继续出击了。

相关推荐
breeze jiang2 小时前
ESLint flat config 配置实战:五大字段、规则严重级别与 --fix 能力边界详解
开发语言·前端·javascript
书中枫叶2 小时前
做了个「句拾」小程序,最难的不是业务,是字体
前端·javascript·vue.js
FFF_634560232 小时前
简单的画板小工具,下载即用
前端·javascript·css
嘟嘟07173 小时前
Next.js 里 SSR、CSR 和水合到底差在哪?从一段待办代码说起
前端·后端·next.js
南雨北斗3 小时前
回调地狱、jQuery jqXHR .then 链式、Promise + async/await写法对比
前端
liuxiaocheng3 小时前
快速上手:5 分钟跑通第一个 AI SDK 例子
前端·人工智能·后端
霹雳桃3 小时前
移动端 H5 折叠屏适配实战:为什么 max-width 没用,min(vw, px) 才是正解
前端·前端框架
Goodbye3 小时前
useContext 上下文与自定义 Hooks:跨层级数据共享的优雅方案
前端
新时代牛马3 小时前
Vue.js 响应式原理详解
前端·javascript·vue.js