CVE-2026-21504CVE-2026-21504是icclib开源项目中存在的一个中危安全漏洞。该漏洞位于iccDEV库的ToneMap解析器组件中,在2.3.1.2版本之前存在堆缓冲区溢出问题。iccDEV是一套用于ICC色彩管理配置文件交互、操作和应用的库和工具集,广泛应用于图像处理软件、色彩校准工具、打印驱动以及各种需要色彩管理功能的应用程序中。攻击者可以通过构造恶意ICC配置文件触发ToneMap解析器中的堆缓冲区溢出,成功利用此漏洞可能导致应用程序崩溃(拒绝服务)或在特定条件下执行任意代码。鉴于该漏洞的CVSS评分为6.6,属于中危级别,且攻击复杂度较低无需特殊认证即可触发,建议使用该库的相关应用尽快升级到修复版本。
该漏洞属于典型的堆缓冲区溢出(Heap Buffer Overflow)类型,存在于iccDEV库的IccProfLib/IccMpeBasic.cpp文件的ToneMap解析器中,具体位置在第4557行附近。漏洞成因是ToneMap解析器在处理ICC配置文件中的ToneMap标签数据时,未正确验证输入数据的大小与目标缓冲区容量之间的关系。当解析器读取恶意的ToneMap数据时,如果数据长度超出预期边界,会导致堆内存越界写入,破坏堆结构或覆盖相邻内存区域。攻击者可通过精心构造包含畸形ToneMap数据的ICC配置文件,诱使目标应用程序解析该文件来触发溢出。成功利用可导致进程崩溃(拒绝服务攻击),在某些特殊场景下还可能实现代码执行。由于该漏洞需要用户交互(打开或解析恶意ICC文件),且攻击向量为本地(AV:L),因此主要影响场景为用户打开不可信来源的图像或配置文件。修复方案已在2.3.1.2版本中实施,主要通过增加边界检查和安全的内存操作来防止溢出。