1
zqcolor 2016-05-10 10:48:44 +08:00 1
Rewordpress WPImageEditorImagick 指令注入漏洞
在 /wp-includes/media.php 的_wp_image_editor_choose 函数内部找到: $implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick' , 'WP_Image_Editor_GD' ) ); 修改为下面这行:(即调换最后数组的顺序) $implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_GD' ,'WP_Image_Editor_Imagick' ) ); |
2
wzxjohn 2016-05-10 11:12:41 +08:00 3
这也叫修复?求别误导别人。
该漏洞真正的原因与 WordPress 无关,是 ImageMagick 的漏洞,也就是 CVE-2016-3714 , Insufficient shell characters filtering leads to (potentially remote) code execution ,即不完善的 Shell 字符过滤导致(有可能远程)代码执行。 CVE-2016-3718 , SSRF ,全称 Server-Side Request Forgery ,即“服务器端请求伪造”漏洞。 CVE-2016-3715 , File deletion ,文件删除。 CVE-2016-3716 , File moving ,文件位置移动。 CVE-2016-3717 , Local file read ,本地文件读取。 这些。正确的方法是联系主机商升级 ImageMagick 的版本来修复漏洞,而不是通过调整 GD 库的优先级来做。如果主机没有装 GD 库的话,这个顺序调整根本没用。 |
4
prozhong 2016-05-10 11:35:52 +08:00
我装了 wp 但是我的主机里 rpm -qa |grep ImageMagicK 未显示安装
|
5
maskerTUI 2016-05-10 11:56:24 +08:00
在 “/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> |
7
maskerTUI 2016-05-10 12:04:40 +08:00
|
8
DesignerSkyline 2016-05-10 12:13:27 +08:00
我已经在 https://www.v2ex.com/t/277167 回复过了,安装更新即可
openSUSE 13.2 , Leap 42.1 以及 SUSE Linux Enterprise 可以通过安装发布的安全更新来解决 - openSUSE Leap 42.1: zypper in -t patch openSUSE-2016-574=1 - openSUSE 13.2: zypper in -t patch openSUSE-2016-569=1 - SUSE Linux Enterprise Workstation Extension 12-SP1: zypper in -t patch SUSE-SLE-WE-12-SP1-2016-733=1 - SUSE Linux Enterprise Workstation Extension 12: zypper in -t patch SUSE-SLE-WE-12-2016-733=1 - SUSE Linux Enterprise Software Development Kit 12-SP1: zypper in -t patch SUSE-SLE-SDK-12-SP1-2016-733=1 - SUSE Linux Enterprise Software Development Kit 12: zypper in -t patch SUSE-SLE-SDK-12-2016-733=1 - SUSE Linux Enterprise Server 12-SP1: zypper in -t patch SUSE-SLE-SERVER-12-SP1-2016-733=1 - SUSE Linux Enterprise Server 12: zypper in -t patch SUSE-SLE-SERVER-12-2016-733=1 - SUSE Linux Enterprise Desktop 12-SP1: zypper in -t patch SUSE-SLE-DESKTOP-12-SP1-2016-733=1 - SUSE Linux Enterprise Desktop 12: zypper in -t patch SUSE-SLE-DESKTOP-12-2016-733=1 |
9
DesignerSkyline 2016-05-10 12:14:43 +08:00
修复的具体内容如下:
This update for ImageMagick fixes the following issues: Security issues fixed: - Several coders were vulnerable to remote code execution attacks, these coders have now been disabled by default but can be re-enabled by editing "/etc/ImageMagick-*/policy.xml" (bsc#978061) - CVE-2016-3714: Insufficient shell characters filtering leads to (potentially remote) code execution - CVE-2016-3715: Possible file deletion by using ImageMagick's 'ephemeral' pseudo protocol which deletes files after reading. - CVE-2016-3716: Possible file moving by using ImageMagick's 'msl' pseudo protocol with any extension in any folder. - CVE-2016-3717: Possible local file read by using ImageMagick's 'label' pseudo protocol to get content of the files from the server. - CVE-2016-3718: Possible Server Side Request Forgery (SSRF) to make HTTP GET or FTP request. Bugs fixed: - Use external svg loader (rsvg) |
10
hqfzone 2016-05-10 16:49:39 +08:00
如果是自己用的 wordpress ,不用太紧张,因为漏洞需要 author 及以上权限。
|
11
anewg 2016-05-10 16:56:04 +08:00
https://imagetragick.com/
使用 imagemagick 前检测文件 signatures (不要用 imagemagick 自身来检测文件类型) 比如使用 php 读取文件前几字节判断是否是你需要处理的图片( https://en.wikipedia.org/wiki/List_of_file_signatures ) policy.xml 最好也一并加一下。 |
12
former 2016-05-10 17:11:58 +08:00
摘自: http://drops.wooyun.org/papers/15589
0x04 漏洞修复 关于这个漏洞影响 ImageMagick 6.9.3-9 以前是所有版本,包括 ubuntu 源中安装的 ImageMagick 。而官方在 6.9.3-9 版本中对漏洞进行了不完全的修复。所以,我们不能仅通过更新 ImageMagick 的版本来杜绝这个漏洞。 现在,我们可以通过如下两个方法来暂时规避漏洞: 处理图片前,先检查图片的 "magic bytes",也就是图片头,如果图片头不是你想要的格式,那么就不调用 ImageMagick 处理图片。如果你是 php 用户,可以使用 getimagesize 函数来检查图片格式,而如果你是 wordpress 等 web 应用的使用者,可以暂时卸载 ImageMagick ,使用 php 自带的 gd 库来处理图片。 使用 policy file 来防御这个漏洞,这个文件默认位置在 /etc/ImageMagick/policy.xml ,我们通过配置如下的 xml 来禁止解析 https 等敏感操作: —— <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> |
13
yekailyu 2016-05-10 17:21:19 +08:00
主机里有 wp ,但是 /etc/ImageMagick 根本没有这个文件夹,但是阿里云的什么什么漏洞扫描就扫出来 有 WP_Image_Editor_Imagick 这个漏洞。 请问这咋修复啊。 阿里云这招儿挺操蛋的
|
15
maskerTUI 2016-05-10 17:54:36 +08:00
@yekailyu 先看完我上面回复的两篇文章,最重要的是看一下自己是不是用 imagemagick 的,因为一般 wp 、 dz 都是用 gd 来处理的,阿里云误报也不是什么稀奇事。
|
17
wzxjohn 2016-05-10 18:56:54 +08:00 via iPhone
阿里云扫的应该是 convert 程序,只要安装了 ImageMagick 就会有 convert 程序。
检查办法是执行 convert -v 看看版本。 |