解决WordPress程序WP_Image_Editor_Imagick漏洞方法

解决WordPress程序WP_Image_Editor_Imagick漏洞方法

2016年5月10日,阿里云云盾安全通知:

漏洞名称:wordpress WP_Image_Editor_Imagick

指令注入漏洞补丁编号:4493588

补丁文件:/www/web/dreamfyweb/wp_public_html/wp-includes/media.php

今天上午相信肯定很多网友和dreamfy一样,都收到来自阿里云云盾安全通知,存放在上面的WordPress程序有WP_Image_Editor_Imagick漏洞问题,需要登入后台补丁等等的暗示。如果需要在线补丁则需要升级阿里云的骑士专业版,当然是需要收费的,其实我们即便要补丁安全也没有必要这样操作。因为这个WP_Image_Editor_Imagick漏洞本不是WP程序的,而是如果我们服务器环境中有安装ImageMagick且没有补丁的才会被利用。

第一、检查是否有ImageMagick漏洞

convert ‘https://example.com”|ls “-la’ out.png

如果提示有执行成功且没有错误,则说明有漏洞,我们需要升级组件。如果提示错误,或者我们压根没有安装ImageMagick,那就没有问题。

第二、补丁WP_Image_Editor_Imagick

如果是自己架设的服务器,且有安装ImageMagick存在漏洞最好的方法是升级最新版本。临时解决WP漏洞的方法只需要修改一行代码就可以。

 

  1. 在/wp-includes/media.php的_wp_image_editor_choose函数内部找到: (第2898行)
    $implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick' ,  'WP_Image_Editor_GD' ) );
  2. 修改为下面这行:(即调换最后数组的顺序)
    $implementations = apply_filters( 'wp_image_editors', array(  'WP_Image_Editor_GD' ,'WP_Image_Editor_Imagick' ) );

将2个库优先级对调就可以了。这样我们在阿里云后台再验证下就可以看到被修复(漏洞文件被修改)。

总结,这个仅仅是临时解决方法,最为直接的方法还是要升级WP到最新版本,以及ImageMagick如果有安装则需要升级。

展开评论