被 PHP、Ruby、NodeJS 和 Python 等语言支持的一个广泛使用的图像处理库 ImageMagick 发现了多个漏洞,其中一个漏洞允许远程代码执行,攻击者上传内置恶意代码的图像,网站在处理时能被利用执行攻击者选择的代码。很多社交媒体和博客网站,以及内容管理系统,都直接或间接的依靠基于 ImageMagick 的图像处理,以调整用户上传图像的大小。ImageMagick 维护者尚未释出修复漏洞的补丁,而是提供了一些权宜之计,他们建议网站管理员加入多行代码屏蔽部分可能的利用。
新闻来源: solidot
/etc/ImageMagick/policy.xml 加上这个就可以了吧?还有,这文章标题翻译的...
<policymap>
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="URL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
</policymap>
updated,最新 9 条 policy:
<policymap>
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="URL" />
<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" />
</policymap>
这里是官方申明: https://www.imagemagick.org/discourse-server/viewtopic.php?t=29588
有临时解决方案: 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" />
to your policy.xml file. For HTTPS, you can also remove support by deleting it from the delegates.xml configuration file.
友情提醒:关于 ImageMagick 的漏洞,设置了Policy.xml
之后,要重启应用才能生效,我们用的Unicorn
服务器,不重启的话是没效果的,还是可以执行命令,重启之后起效。