主要观点:2025 年 4 月 16 日苹果发布 CoreAudio 漏洞补丁,文中主要研究 CoreAudio 中的 CVE - 2025 - 31200 漏洞,包括二进制差异分析、逆向工程、理解错误及播放测试等过程,最终发现该漏洞的利用方式及相关细节。
关键信息:
- 漏洞相关二进制文件位于
/System/Library/Components/AudioCodecs.component/
,与 Dyld 共享缓存不同。 - 关键函数
apac::hoa::CodecConfig::Deserialize
在新旧版本中有多处差异,如最终读取流的部分、计算数组元素宽度等。 - 逆向工程过程中发现与音频格式相关的信息,如 APAC 为 Apple Positional Audio Codec,HOA 为 Higher Order Ambisonics 等。
- 通过动态分析和构造特定音频文件,找到触发漏洞的条件,如强制
m_RemappingArray
的元素数量等。 - 漏洞利用导致在
apac::HOADecoder::DecodeAPACFrame
中出现空指针引用,进而引发 segfault,且与通道重映射相关。
重要细节: - 使用
ipsw
和radiff2
进行二进制差异分析,Ipsw - diff 用于获取基本信息,radiff2 用于实际差异比较。 - 在逆向工程中,通过分析
apac::GlobalConfig::Deserialize
等函数理解错误条件,涉及到音频配置文件的匹配和验证。 - 播放测试中,通过特定的音频文件设置和代码修改,触发漏洞并观察到不同版本的行为差异,如错误消息等。
- 漏洞的利用原始在于
m_RemappingArray
与实际浮点数缓冲区大小的不匹配,导致越界访问和内存损坏。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。