苹果修复了两个在定向攻击中被利用的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引擎然后没更新导致的安全风险,当然这段时间,就要等着被这个洞的攻击者继续出击了。

相关推荐
席之郎小果冻2 小时前
【04】【创建型】【聊一聊,建造者模式】
java·前端·建造者模式
风无雨2 小时前
在 React 中实现数学公式显示:使用 KaTeX 和 react-katex
前端·react.js·前端框架
二两锅巴2 小时前
📺 无需Electron!前端实现多显示器浏览器窗口精准控制与通信
前端
炸土豆2 小时前
防抖节流里的this传递
前端·javascript
用户4099322502123 小时前
Vue3中动态样式数组的后项覆盖规则如何与计算属性结合实现复杂状态样式管理?
前端·ai编程·trae
山璞3 小时前
Flutter3.32 中使用 webview4.13 与 vue3 项目的 h5 页面通信,以及如何调试
前端·flutter
努力早日退休3 小时前
Antd Image标签父元素会比图片本身高几个像素的原因
前端
林希_Rachel_傻希希3 小时前
手写Promise--教学版本
前端·javascript·面试
ETA83 小时前
`console.log([1,2,3].map(parseInt))` 深入理解 JavaScript 中的高阶函数与类型机制
前端·javascript