CVE-2024-44236:Apple macOS 远程代码执行漏洞
2025年5月7日 | Trend Micro 研究团队
在 Trend Vulnerability Research Service 漏洞报告摘录中,Trend™ 研究团队的 Nikolai Skliarenko 和 Yazhi Wang 详细介绍了 Apple macOS 操作系统中一个近期已修复的代码执行漏洞。该漏洞最初由 Trend™ Zero Day Initiative 的 Hossein Lotfi 发现。成功利用此漏洞可能导致在目标机器上以运行进程的上下文执行任意代码。以下是他们关于 CVE-2024-44236 的报告部分,经过少量修改。
漏洞概述
macOS 中被报告存在一个越界写入漏洞。该漏洞是由于缺乏对“lutAToBType”和“lutBToAType”标签类型的适当验证。远程攻击者可以通过诱骗受害者打开特制文件来利用此漏洞。成功的攻击可能导致在受害者机器上以运行进程的上下文执行代码。
漏洞详情
脚本化图像处理系统(sips)是 macOS 中包含的终端实用程序,允许用户验证、编辑和打印有关 ICC 配置文件和图像的信息。
ICC(国际色彩联盟)配置文件是一组数据,根据 ICC 的标准描述颜色输入或输出设备或颜色空间。每个捕获或显示颜色的设备都可以有自己的配置文件。
ICC 配置文件文件由头部、标签表和标记元素数据组成:
- 头部具有以下格式:
- 标签表由多个独立标签结构组成,格式如下:
- 标记元素数据位于标签表之后。每个数据结构以 4 字节签名开头,后跟特定于标签类型的数据。与漏洞相关的两个标签类型是 lutAToBType 和 lutBToAType。这两种类型使用类似的格式存储数据:
偏移量相对于标记元素数据的开头。签名“\x6d\x42\x41\x20”用于 lutBToAType,签名“\x6d\x41\x42\x20”用于 lutAToBType。
函数 sub_1000194D0() 处理这些结构。从“Offset to CLUT”字段的值开始的 16 个字节被检查。如果字节的索引大于“Number of input channels”字段的值,并且该字节的值不为空,则将其更改为零。由于对“Offset to CLUT”字段值的验证不足,可以将偏移量设置为标记元素数据的总长度。这将导致函数读取并可能修改堆分配缓冲区末尾之后的 16 字节内存。
远程攻击者可以通过制作恶意的 ICC 配置文件文件并诱骗受害者使用易受攻击版本的 sips 工具处理它来利用此漏洞。成功利用可能导致在目标用户的安全上下文中执行任意代码。
源代码分析
以下代码片段取自 macOS 15.0.1 的 sips 版本 sips-307。Trend Research 添加的注释已高亮显示。
在 sub_1000194D0() 中:
检测指南
要检测利用此漏洞的攻击,检测设备必须监视和解析可用于传递利用此漏洞的攻击的端口上的流量。这些包括以下端口和服务:
- FTP,通过端口 20/TCP、21/TCP
- HTTP,通过端口 80/TCP
- HTTPS,通过端口 443/TCP
- IMAP,通过端口 143/TCP
- NFS,通过端口 2049/TCP、2049/UDP、111/TCP、111/UDP
- POP3,通过端口 110/TCP
- SMB/CIFS,通过端口 139/TCP、445/TCP
- SMTP,通过端口 25/TCP
检测设备必须监视 ICC 配置文件文件的传输。如果发现此类文件传输,检测设备必须检查其内容。检测设备应验证头部中的配置文件签名字段是否等于以下字节字符串“\x61\x63\x73\x70”。如果找到,检测设备应获取标签计数值并计算标签表的大小。之后,必须处理标签表中的独立标签结构。对于每个结构,必须检查从文件开头位于标签数据偏移处的标记元素数据。如果数据以“\x6d\x42\x41\x20”或“\x6d\x41\x42\x20”开头,则必须检查 Offset to CLUT 字段的值。如果它等于相应独立标签结构中的标签数据大小字段,则流量应被视为可疑;可能正在进行利用此漏洞的攻击。
注意:
- 所述结构中的所有整数均为大端格式
结论
该漏洞已于 10 月由供应商修补。迄今为止,尚未在野外检测到攻击。Apple 没有提供针对此错误的任何缓解措施,因此建议应用供应商补丁以完全解决此问题。
特别感谢 Trend Research 团队的 Nikolai Skliarenko 和 Yazhi Wang 提供了对此漏洞的如此详尽的分析。有关 Trend Research 服务的概述,请访问 http://go.trendmicro.com/tis/。
威胁研究团队将在未来带来其他优秀的漏洞分析报告。在此之前,请在 Twitter、Mastodon、LinkedIn 或 Bluesky 上关注团队,以获取最新的漏洞利用技术和安全补丁信息。