CVE-2026-34550iccDEV是一套用于处理ICC颜色管理配置文件的库和工具。在2.3.1.6版本之前,该软件在IccProfLib/IccIO.cpp文件中存在一个未定义行为漏洞。该漏洞源于将负的有符号整数隐式转换为size_t(无符号)类型,导致数值发生意外改变。攻击者无需用户交互即可在本地利用此漏洞,可能导致目标系统服务拒绝或应用程序崩溃。官方已在2.3.1.6版本中发布了补丁修复此问题。
该漏洞属于典型的整数类型转换错误。在C/C++中,size_t通常定义为无符号长整型,而代码中存在将负的有符号整数直接赋值或传递给期望size_t类型的变量的情况。当负整数(如-1)转换为无符号整数时,其值会变成该类型所能表示的最大值(例如在32位系统上为4294967295)。在IccIO.cpp中,这种错误的转换可能被用于内存分配大小、数组索引或循环计数。如果转换后的巨大数值被用作内存分配大小,可能导致内存分配失败(抛出异常)或分配过大的内存消耗系统资源;如果用作数组索引或拷贝长度,会导致严重的缓冲区溢出读取或写入,进而引发段错误或程序崩溃。由于CVSS向量显示机密性和完整性影响为无,主要影响为可用性,说明该漏洞主要导致拒绝服务(DoS),而非任意代码执行。攻击者需要在本地环境诱导应用处理特定的ICC配置文件才能触发该逻辑。