CVE-2026-24403iccDEV是一个提供ICC颜色管理配置文件交互、操作和应用功能的库和工具。2.3.1.1及以下版本中存在整数溢出漏洞,位于CIccProfile::CheckHeader()函数的icValidateStatus中。当用户可控输入被不安全地纳入配置文件数据时,攻击者可以通过篡改标签表、偏移量或大小字段来触发解析错误、内存损坏或拒绝服务(DoS)条件。该漏洞可能导致任意代码执行或绕过应用程序安全逻辑。攻击复杂度低,但需要用户交互(打开恶意ICC配置文件),对机密性影响低,对完整性影响低,但对可用性影响高。攻击者可利用此漏洞在受害者系统上执行任意代码或造成服务中断。该漏洞已于版本2.3.1.2中修复。
漏洞根源在于CIccProfile::CheckHeader()函数在处理ICC配置文件头部的tag tables、offsets和size fields时存在整数溢出问题。具体来说,当解析用户提供的ICC配置文件时,程序未对偏移量和大小字段进行充分的边界检查,导致整数运算结果可能超出预期范围。攻击者可以构造恶意ICC文件,通过精心设计的size字段或offset值触发整数溢出,使得后续的内存访问操作读写超出预期的内存区域。这种内存损坏可能导致:1) 堆溢出或栈溢出,触发代码执行;2) 读取敏感内存信息;3) 导致程序崩溃造成DoS。漏洞利用需要受害者打开或处理恶意ICC配置文件,因此需要一定程度的用户交互。修复方案在版本2.3.1.2中增加了对size字段和offset值的有效性验证,确保整数运算不会溢出。