CVE-2026-34556iccDEV是一款用于处理ICC颜色配置文件的库和工具集。在2.3.1.6版本之前,其XML转换路径中的`icAnsiToUtf8()`函数存在堆缓冲区溢出漏洞。攻击者可诱导用户解析特制的ICC配置文件触发该漏洞,导致程序读取越界内存,引发拒绝服务,影响系统可用性。
该漏洞位于iccDEV的XML转换模块,具体函数为`icAnsiToUtf8(std::string&, char const*)`。由于代码逻辑缺陷,该函数将输入缓冲区视为以空字符结尾的C字符串,并直接调用`strlen()`计算长度。当解析精心构造的恶意ICC配置文件时,由于缓冲区未包含空终止符,`strlen()`会持续读取直到遇到页面边界或非法内存,导致堆缓冲区越界读取(AddressSanitizer报告超出114字节分配115字节的读取)。这种越界操作主要导致程序崩溃(DoS),但在特定内存布局下可能存在信息泄露风险。