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漏洞的方法只需要修改一行代码就可以。
- 在/wp-includes/media.php的_wp_image_editor_choose函数内部找到: (第2898行)
$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个库优先级对调就可以了。这样我们在阿里云后台再验证下就可以看到被修复(漏洞文件被修改)。
总结,这个仅仅是临时解决方法,最为直接的方法还是要升级WP到最新版本,以及ImageMagick如果有安装则需要升级。