CVE-2026-8813ExifReader是一个用于读取图片元数据的JavaScript库。在4.39.0之前的版本中存在一个高危漏洞。攻击者可构造包含恶意ICC mluc标签的图片,设置受控记录数及零记录大小。当应用解析此类图片时,ExifReader会因边界验证不足,重复处理同一条记录并无限追加数组条目,引发内存过度增长。这导致应用因内存耗尽而崩溃,造成拒绝服务。
该漏洞的核心在于ExifReader库在处理ICC色彩配置文件中的`mluc`(多语言Unicode)标签时,缺乏对循环条件和内存分配的严格校验。攻击者可以精心构造一个图像文件,其中嵌入恶意的ICC数据块。在这个数据块中,`mluc`标签的记录数被设置为一个非常大的值,而记录的大小被设置为0。当ExifReader尝试解析这个标签时,由于记录大小为0,读取指针无法按预期前进,导致解析逻辑卡在同一条记录上。程序会不断尝试读取并处理这条记录,并在内存中创建新的数组条目。随着循环的持续,内存占用呈极快增长,直到达到进程的内存限制并触发崩溃(OOM)。这种攻击方式无需认证且无需用户交互,能轻易耗尽Node.js环境的堆内存。