文章总结: Apple修复了ModelI/O框架中处理Alembic文件时的越界写入漏洞(CVE-2026-20616),攻击者可通过构造恶意USD文件触发,甚至无需用户主动打开(QuickLook、Spotlight等后台解析)。漏洞由ZDI研究员报告,2025年11月报给Apple,2026年2月修复。受影响版本包括iOS/iPadOS18.7.5之前、macOSSonoma14.8.4之前等。建议升级到最新版。 综合评分: 88 文章分类: 漏洞分析,应急响应,移动安全,网络安全,应用安全
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越界写入漏洞》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论