ImageMagick存在栈缓冲溢出漏洞,可导致RCE

原文链接: https://mp.weixin.qq.com/s?__biz=MzI2NTg4OTc5Nw==&mid=2247523576&idx=2&sn=cae33dc0a4154ffe056c01f3975eb200

ImageMagick存在栈缓冲溢出漏洞,可导致RCE

Ddos 代码卫士 2025-07-15 10:39

ImageMagick存在栈缓冲溢出漏洞,可导致RCE

聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

使用广泛的开源图片操作套件 ImageMagick 中存在一个漏洞,在涉及图片文件名模板的某些条件下可导致栈缓冲溢出。该漏洞编号为CVE-2025-53101,CVSS评分为7.4。ImageMagick 在处理恶意文件命名模式时,利用该漏洞可使系统面临内存损坏和远程代码执行风险。

ImageMagick存在栈缓冲溢出漏洞,可导致RCE

ImageMagick 在安全通告中提到,“在文件名称模板中指定多个连续的 %d 格式说明符,导致内部指针算法在栈缓冲区下面生成一个地址,从而通过vsnprintf() 造成栈溢出。”

ImageMagick 是一款强大的开源软件套件,可通过200多种格式创建、编辑、转换和展示图片。它广泛用于网站、云服务、内容管道和图片工具中,尤其用于通过 CLI 命令和API自动化处理图片。

该漏洞位于 image.c 中的 InterpretImageFilename() 函数中,格式说明符如 %d、%0和%x用于为所处理的图片动态创建文件名称。在正常情况下,ImageMagick 使用 FormatLocaleString()以证书替换格式说明符。然而,计算在哪写入该输出的代码使用的是有问题的指针算法。

安全公告提到,“偏移量变量累积递增,以修正 %d 等输出长度,但使用一个静态偏移量 +- (4-field_width) 的设计,会在 % 说明符连续出现时导致偏移量过度增加。”这就导致负索引,即写指针移动到堆栈缓冲区开头之前的位置。结果,vsnprintf() 函数的调用开始覆盖越界内存。该漏洞属于CWE-124:缓冲区写越界类型漏洞,即内存被写入所分配空间之前的地址,通常导致崩溃或可利用的内存损坏后果。

虽然在正常配置下,该漏洞不容易遭RCE利用,但在在自动化环境下可被触发,不受信任的输入控制文件名称模板如web服务器、CI/CD管道或共享图形处理程序等。

如遭成功利用,该漏洞可导致:应用崩溃、信息泄露、RCE(尤其是受用户控制的模板被直接传给 CLI 命令时)。该漏洞最初是通过 AddressSanitizer 检测到的,并被标记为栈缓冲溢出漏洞,证明它可能导致运行时环境不稳定。

该漏洞已在 ImageMagick 7.1.2-0和6.9.13-26中修复。用户应立即升级至其中一个已修复版本。修复方案修改了偏移量处理逻辑,确保模板解析与实际的字段宽度一致,从而解决了该漏洞的核心问题。

开源
卫士试用地址:
https://oss.qianxin.com/#/login

代码卫士试用地址:https://sast.qianxin.com/#/login

推荐阅读

在线阅读版:《2025中国软件供应链安全分析报告》全文

CrushFTP 提醒用户立即修复已遭利用的 0day 漏洞

CompleteFTP 路径遍历缺陷可导致服务器文件遭删除

开源OS FreeBSD 中 ftpd chroot 本地提权漏洞 (CVE-2020-7468) 的技术分析

原文链接

ImageMagick Flaw (CVE-2025-53101): Stack Buffer Overflow Allows Potential Remote Code Execution

题图:
Pixabay Licen
se


本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

ImageMagick存在栈缓冲溢出漏洞,可导致RCE

ImageMagick存在栈缓冲溢出漏洞,可导致RCE

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

ImageMagick存在栈缓冲溢出漏洞,可导致RCE

觉得不错,就点个 “
在看
” 或 “

” 吧~