ImageMagick 中发现了一个新的高危漏洞。ImageMagick 是一个无处不在的图像处理库,从社交媒体平台到内容管理系统都在使用。该漏洞编号为 CVE-2026-23876,攻击者只需上传一个特制的 XBM 图像文件,即可触发大规模堆缓冲区溢出。
该漏洞的 CVSS 评分为 8.1,对任何处理不可信图像的网络服务都构成重大风险,可能导致内存破坏或程序崩溃。
漏洞位于 XBM 图像解码器(coders/xbm.c)中,该组件负责处理 X Window System Bitmap 格式。根本原因是典型的整数截断问题 —— 程序认为需要的内存量与实际使用的内存量不一致。
根据漏洞报告,问题发生在软件计算新图像的缓冲区大小时。它将图像的行数(一个 64 位值)强制转换为 32 位无符号整数。
“在第 349-350 行,image->rows(size_t 类型)被截断为 unsigned int 以进行分配…… 然而,第 369-377 行的写入循环使用的是原始未截断的 image->rows 值。”
这造成了危险的不一致。如果攻击者提供一个非常大的图像行数(例如 0x500000001),系统会截断该数值,只分配一个极小的缓冲区(大约 1 字节)。然而,后续的循环却不知道这一点,它会根据原始的巨大数值继续写入数据。
“循环迭代次数:bytes_per_line * 21474836481 → 大规模溢出。”
让这个溢出特别危险的是,攻击者对溢出过程具有高度控制权。报告指出,“溢出大小” 可通过图像尺寸(行数和列数)控制,而 “写入的数据” 可通过 XBM 文件中的十六进制值控制。
这使得攻击者可以在分配的缓冲区之外写入可控字节(0x00-0xFF),从而覆盖堆上的关键内存结构。
由于 ImageMagick 是网络的基础组件,该漏洞的影响范围非常广泛。报告强调了几个主要目标:
- 网络服务:任何带有图像上传功能的网站,例如缩略图生成器或格式转换器。
- 内容管理系统:像 WordPress 和 Drupal 这样的流行平台通常依赖 ImageMagick 后端来处理媒体库。
- CI/CD 流水线:自动处理用户提交的图像或资源的系统。
攻击向量非常简单:“任何使用 ImageMagick 处理不可信图像的应用程序” 都可能通过一次简单的网络上传被攻破。
该漏洞影响 7.1.2-13 之前的 7 系列版本 和 6.9.13-38 之前的 6 系列版本。
维护者已经发布了修复整数截断逻辑的补丁。使用 ImageMagick 的管理员和开发者被强烈建议立即升级到 7.1.2-13 或 6.9.13-38 版本,以降低远程攻击风险。








发表评论
您还未登录,请先登录。
登录