dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2198
  • 铜币14124枚
  • 威望6134点
  • 银元155个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 喜欢达人
  • 原创写手
阅读:3415回复:1

[漏洞] CVE-2016-3714 - ImageMagick 命令注入漏洞

楼主#
更多 发布于:2016-05-05 20:14
漏洞展示
convert 'https://example.com"|head -n3 /etc/passwd"' out.png
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

convert: no decode delegate for this image format `/tmp/magick-I9qDSJxL' @ error/constitute.c/ReadImage/566.
convert: missing an image filename `out.png' @ error/convert.c/ConvertImageCommand/3015.

漏洞范围
受漏洞影响的版本 ImageMagick <= 6.9.3-9
1. php 模块
php -m | grep imagick
imagick

2. module 详细信息
php -i | grep -i "imagick"
省略....
Imagick compiled with ImageMagick version => ImageMagick 6.7.2-7 2015-07-23 Q16 http://www.imagemagick.org

解决方法
使用policy file来防御这个漏洞,这个文件默认位置在 /etc/ImageMagick/policy.xml ,我们通过配置如下的xml来禁止解析https等敏感操作

1. 编辑配置文件
vim /etc/ImageMagick/policy.xml
2. 添加字段
&lt;policymap&gt;
  &lt;!-- 2016-05-05 20:20 /&gt; --&gt;
  &lt;policy domain="coder" rights="none" pattern="EPHEMERAL" /&gt;
  &lt;policy domain="coder" rights="none" pattern="URL" /&gt;
  &lt;policy domain="coder" rights="none" pattern="HTTPS" /&gt;
  &lt;policy domain="coder" rights="none" pattern="MVG" /&gt;
  &lt;policy domain="coder" rights="none" pattern="MSL" /&gt;
&lt;/policymap&gt;

验证
convert 'https://example.com"|head -n3 /etc/passwd"' out.png
convert: not authorized `//example.com"|head -n3 /etc/passwd"' @ error/constitute.c/ReadImage/453.
convert: missing an image filename `out.png' @ error/convert.c/ConvertImageCommand/3015.

漏洞描述
ImageMagick是一款广泛流行的图像处理软件。近日,该软件被爆出存在远程代码执行漏洞,编号为CVE-2016–3714。此漏洞允许攻击者通过上传恶意构造的图像文件,在目标服务器执行任意代码。由于ImageMagick应用十分广泛,目前已确定Wordpress等知名应用受此漏洞影响。影响范围,ImageMagick <= 6.9.3-9


参考:

1. 阿里云告警邮件
2. 百度云观测告警邮件
3. wooyun
4. redhat
#
欢迎关注微信公众号: 运维录
dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2198
  • 铜币14124枚
  • 威望6134点
  • 银元155个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 喜欢达人
  • 原创写手
沙发#
发布于:2016-05-06 10:11
CVE-2016-3714 - saltstack 批量修复
其实就是替换文件,结合saltstack 批量替换
salt -v \* cp.get_file salt://tmp/policy.xml /etc/ImageMagick/policy.xml

1. 首先准备已修改的 policy.xml ;
2. 将文件存放在 /srv/salt/X目录;
3. 然后使用 salt cp.get_file 模块批量执行替换;

#
欢迎关注微信公众号: 运维录
游客

返回顶部