趋势科技研究团队的安全研究人员 Nikolai Skliarenko 和 Yazhi Wang 披露了有关 CVE-2024-44236 的关键细节,CVE-2024-44236 是 Apple macOS 可编程图像处理系统 (sips) 中的内存损坏漏洞。
Hossein Lotfi 通过 Trend Micro 的 Zero Day Initiative 发现,此缺陷允许通过恶意构建的 ICC 配置文件执行任意代码。
该漏洞于 2024 年 10 月修补,凸显了 Apple 生态系统中广泛使用的色彩管理实用程序的系统性风险。
该漏洞源于对国际色彩联盟 (ICC) 配置文件中 lutAToBType 和 lutBToAType 标签的验证不正确。
这些标准化数据结构用于确保设备之间的颜色一致性,包含标题、标签表和标记元素数据。
攻击者可以利用所有 macOS 系统上预装的 sips 命令行工具,方法是提交格式错误的 ICC 配置文件,从而触发堆内存中的越界 (OOB) 写入。
根据 Trend Micro 的分析,该缺陷存在于该函数如何处理 lutA/B 标签中的 Offset to CLUT 字段。sub_1000194D0()
当此偏移量等于标记元素数据的总长度时,该函数会错误地写入超出分配的缓冲区边界的 16 个字节。
这种损坏可以覆盖相邻的内存结构,从而可能劫持控制流以执行攻击者提供的代码。
“缺乏对 CLUT 偏移值的边界检查为内存作创造了一条微不足道的路径,”研究人员指出。
“单个格式错误的 ICC 配置文件可能会通过图像预览或自动处理服务等常见工作流程破坏系统。”
利用颜色查找表偏移量
ICC 配置文件使用颜色查找表 (CLUT) 将输入颜色通道映射到输出值。漏洞在 CLUT 验证期间按以下顺序触发:
- 标签解析:sips 工具从 lutA/B 标签标题中提取值。
CLUT_offset
- 边界检查失败:该函数从 big-endian 格式转换,但无法验证偏移量是否超过缓冲区大小。
CLUT_offset
- OOB 访问:如果等于缓冲区长度 (),则指针引用已分配空间之外的内存。
_CLUT_offset
Length
CLUT_data_ptr
- Forced Nullification:循环迭代 16 次,当超过声明的输入通道数时,使字节无效。
sub_1000194D0()
CLUT_data_ptr[input_channel]
input_channel
c// Vulnerable code snippet from sips-307 CLUT_offset = bswap32(v11->CLUT_offset); if (_CLUT_offset > Length) goto LABEL_93; CLUT_data_ptr = &MutableBytePtr[_CLUT_offset]; // Points beyond buffer if _CLUT_offset == Length ... if (input_channel >= number_of_input_channels) { if (CLUT_data_ptr[input_channel]) { CLUT_data_ptr[input_channel] = 0; // OOB write } }
此代码允许攻击者更改 ICC 配置文件缓冲区之外的内存,从而可能修改函数指针或对象元数据。
然后,后续作(例如渲染纵的 CLUT)可能会执行注入的 shellcode 或触发应用程序崩溃。
检测和缓解策略
Trend Micro 的报告概述了适用于监控 macOS 环境的组织使用的基于网络的检测方法。可疑的 ICC 配置文件表现出以下特征:
- 标头签名:有效的配置文件必须包含偏移量0x24处的 4 字节序列。
x61x63x73x70
- CLUT 偏移验证:检测系统应标记等于 lutA/B 标签的文件。
Offset to CLUT
Tag data size
- 协议监控
:检查通过 HTTP(S)、SMB、电子邮件协议 (SMTP/POP3/IMAP) 和文件共享服务传输的 ICC 配置文件。
Apple 在 macOS 15.0.1 更新中解决了该漏洞,但未修补的系统仍然容易受到通过武器化图像或文档的路过式攻击。
“虽然没有观察到野外漏洞利用,但漏洞利用的简单性需要立即修补,”研究人员警告说。企业应该:
-
部署网络入侵系统以阻止具有无效 CLUT 偏移量的 ICC 配置文件。 -
审计依赖 sips 进行批量图像处理的工作流程。 -
对处理不受信任的映像文件的 macOS 设备进行分段,直到应用更新。
此披露凸显了安全性不足的映像解析工具的风险,这是现代作系统中常见的攻击面。
随着 HDR 和广色域显示器的色彩管理变得越来越复杂,对图形子系统的严格验证对于防止内存损坏漏洞变得至关重要。
本公众号所载文章为本公众号原创或根据网络搜索下载编辑整理,文章版权归原作者所有,仅供读者学习、参考,禁止用于商业用途。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片、文字、链接中所包含的软件/资料等,如有侵权,请跟我们联系删除,谢谢!
原文始发于微信公众号(网安百色):研究人员发现 macOS 远程代码执行缺陷漏洞 – CVE-2024-44236
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论