安全预警:ImageMagick 图象处理软件存在远程代码执行(CVE-2016-3714)

oschina
 oschina
发布于 2016年05月05日
收藏 31

QQ截图20160505105410

题图来自pixabay


ImageMagick是一款广泛流行的图像处理软件,有无数的网站使用它来进行图像处理,但在本周二,ImageMagick披露出了一个严重的 0day漏洞,此漏洞允许攻击者通过上传恶意构造的图像文件,在目标服务器执行任意代码。Slack安全工程师Ryan Hube发现了这一0day漏洞。

如果你在网站中使用了ImageMagick去识别,裁剪或者调整用户上传的图像,你必须确认已经使用了这些缓解措施,并且调整你的代码只接受有效的图像文件,沙盒ImageMagick也是一个不错的主意。


在这个安全漏洞公布之后,这一漏洞的EXP也随即被发布,并被命名为:Imagetragick。漏洞的EXP已经通过邮件和论坛广泛传播,所以如果你使用了ImageMagick去处理用户输入,请立即采取相应的缓解措施。

ImageMagick被许多编程语言所支持,包括Perl,C++,PHP,Python和Ruby等,并被部署在数以百万计的网站,博客,社交媒体平台和流行的内容管理系统(CMS),例如WordPress和Drupal。

该漏洞的利用十分简单,通过上传一个恶意图像到目标Web服务器上,攻击者就可以执行任意代码,窃取重要信息,用户帐户等

换句话说,只有采用了ImageMagick,且允许用户上传图像的网站,才会受到影响。
ImageMagick团队已经承认了此漏洞,称:
最近发布的漏洞报告……包含可能存在的远程代码执行。
虽然该团队还没有公布任何安全补丁,但它建议网站管理者应该在配置文件中添加几行代码去阻止攻击,至少在某些情况下可以防御。
Web管理员同时被建议在文件发送给ImageMagick处理前,检查文件的magic bytes。Magic bytes是一个文件的前几个字节,被用于识别图像类型,例如GIF,JPEG和PNG等。

为了让你更好地了解你将要面对的漏洞,下面提供一个可以瞒过ImageMagick的示例文件:

push graphic-context

viewbox 0 0 640 480

fill ‘url(https://example.com/image.jpg“|ls “-la)’

pop graphic-context


将其保存为任意的扩展名,例如expoit.jpg,然后通过ImageMagick去运行它
convert exploit.jpg out.png
是的,ImageMagick将会去执行嵌入的代码:ls -l命令。
将这条命令替换为其它的恶意命令,将会直接威胁到目标机器,不过你可能会触犯一些法律。
该漏洞将在ImageMagick 7.0.1-1和6.9.3-10版本中被修补,这些新版本预计将在周末前被公布。
文章来源:建网360

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:安全预警:ImageMagick 图象处理软件存在远程代码执行(CVE-2016-3714)
加载中

最新评论(16

人仁

引用来自“发芽的红薯”的评论

“ImageMagick被许多编程语言所支持,包括Perl,C++,PHP,Python和Ruby等” 我大java避过这个了?

引用来自“动弹”的评论

你大Java被`等`了
精辟
红薯官方
红薯官方

引用来自“蓝水晶飞机”的评论

天,我等修复版本。

引用来自“Zoker”的评论

这能等?在你服务器上随便就能执行命令,脱裤也是可以做到,这里有临时解决方案,https://imagetragick.com 别睡了,赶紧修复吧。
谢谢Zoker!
小翔
小翔
还好没用这个功能
Zoker
Zoker
[Updated,最新9条Policy]
To prevent these possible exploits, simply add

<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
<policy domain="coder" rights="none" pattern="TEXT" />
<policy domain="coder" rights="none" pattern="SHOW" />
<policy domain="coder" rights="none" pattern="WIN" />
<policy domain="coder" rights="none" pattern="PLT" />
mark35
mark35
GD没问题吧
for_
for_
乌云上已经爆出一堆网站存在这个问题了,赶紧起来修bug
动弹
动弹

引用来自“发芽的红薯”的评论

“ImageMagick被许多编程语言所支持,包括Perl,C++,PHP,Python和Ruby等” 我大java避过这个了?
你大Java被`等`了
imlzw
imlzw
在windows上运行有没有这样的问题?
南湖船老大
南湖船老大

引用来自“发芽的红薯”的评论

“ImageMagick被许多编程语言所支持,包括Perl,C++,PHP,Python和Ruby等” 我大java避过这个了?
Java在图形处理上有自己的实现,如AWT。如果欧追求性能和效果的话,Java里一般是用GM的比较多
山雨欲来
山雨欲来
“ImageMagick被许多编程语言所支持,包括Perl,C++,PHP,Python和Ruby等” 我大java避过这个了?
返回顶部
顶部