漏洞概述
ImageMagick是一款免费开源的数字图像编辑和处理软件。在版本7.1.2-13和6.9.13-38之前,其XBM图像解码器(ReadXBMImage)中存在一个堆缓冲区溢出漏洞。当处理恶意构造的图像文件时,攻击者能够将可控数据写入已分配的堆缓冲区之外。
技术细节
该漏洞位于XBM解析器的内存操作边界验证环节。具体来说,ReadXBMImage函数在处理特定格式的XBM图像数据时,未能正确校验输入长度与缓冲区边界的匹配关系,导致在内存复制或写入操作中发生越界。
任何涉及图像读取或识别的操作都可能触发此溢出,这使得漏洞在常见的图片上传和处理流程中具备可被利用的条件。攻击者可以控制溢出写入的数据内容,进而可能导致信息泄露、程序崩溃或任意代码执行。
影响范围
- 受影响版本:
- ImageMagick 7.1.2-13之前版本
- ImageMagick 6.9.13-38之前版本
- 攻击向量: 网络远程
- 攻击复杂度: 较高(需构造特定恶意文件)
- 所需权限: 无
- 用户交互: 不需要
解决方案
官方已发布修复版本,建议用户立即升级:
- 将ImageMagick升级至7.1.2-13或更高版本
- 将ImageMagick升级至6.9.13-38或更高版本
相关CWE编号
- CWE-122: 堆缓冲区溢出
- CWE-190: 整数溢出或回绕
参考资料
- 官方GitHub安全公告
- 修复代码提交FINISHED LQuBhaqoQIY4rPtQA72Cjg7QBqM4uFgolxdjEx1zlRi8YKOLtefK2NMAYiPwAeTc