解决WordPress程序WP_Image_Editor_Imagick漏洞方法

如果我们有关注服务器、网站安全方面信息的肯定在上周有看到关于ImageMagick安全漏洞的相关文章,如果我们的服务器、VPS是自己运维的那就需要注意这方面的问题。如果我们的WEB环境有安装过ImageMagick组件,那需要检查是否有漏洞的存在一起升级和解决问题。

同时,上午肯定很多网友有得到阿里云服务器安全提示,存放在上面的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 2898行

2、修改文件

$implementations = apply_filters( \’wp_image_editors\’, array( \’WP_Image_Editor_GD\’, \’WP_Image_Editor_Imagick\’ ) );

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

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

PS:补充信息

如果我们是虚拟主机,这个就需要主机提供商负责任了,咨询服务商是否有安装且是否有更新到最新版本的补丁。如果有安装ImageMagick且升级到最新版本一般是没有问题的。这里,根据官方提供的解决方法,如果我们是自建服务器,也可以通过这个方法解决。

1、修改配置文件

/etc/ImageMagick/policy.xml

2、添加脚本

<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>

这个官方给予的方法,禁止ImageMagick。