关于锐讯

成立于2004年,十多年经验积累,专注为客户提供优质的网络环境、接入带宽及高稳定性的网络服务

WordPress5.0.0远程代码执行漏洞预警(CVE-2019-6977)
时间:2019.03.25   作者:admin   阅读:143

一、基本情况

WordPress5.0.0存在远程代码执行漏洞,CVE编号:CVE-2019-6977。攻击者通过目录遍历上传包含恶意代码的图像到当前使用主题的目录中,然后更改_wp_attached_file,即可对系统造成远程代码执行攻击。

二、攻击原理

该漏洞是通过目录遍历和本地文件包含这两个漏洞组合而成。

目录遍历发生在wp_crop_image()函数中,该函数用于裁剪图像。

当该函数运行时,需要输入图像的ID($attachment_id),并从数据库中获取相应的_wp_attached_file。

但是,由于edit_post()的缺陷,$src_file可以被设为任何值。  如果WordPress通过wp_get_image_editor()成功加载了一个有效的图像,它就将裁剪该图像。  

然后,被裁剪后的图像被保存回文件系统(不管它是否被下载),文件名是由攻击者控制的$src_file。系统对文件名字符串所做的唯一修改是在文件名前加上cropped-。例如上文的evil.jpg,被裁剪后的文件名是cropped-evil.jpg。

接着,wordPress通过wp_mkdir_p()在目标路径中创建新目录。

最后使用图像编辑的save()方法将其写入文件系统。save()方法也无安全检查。

虽然将文件加载到图像编辑器中没有执行任何安全检查。但是,如果文件不是有效的图像,图像编辑器将触发异常。第一个假设可行的攻击手段是,裁剪不在上传目录的图像。

如果WordPress没有在上传文件夹找到,就会试图下载图像,这就会导致远程代码执行。  

将_wp_attached_file设置为evil.jpg?shell.php,这使WordPress会发出请求https://targetserver.com/wp-content/uploads/evil.jpg?shell.php。此请求将返回一个有效的图像文件,文件名是evil.jpg?shell.php。

但是,尽管图像编辑器的save()方法不会进行安全检查,但它会将要加载的图像的mime类型附加到新文件名中。在这种情况下,得到的文件名将是evil.jpg?cropped-shell.php.jpg。

每个WordPress主题只位于WordPress的wp-content/themes目录下的一个目录。例如,如果博客访问者想要查看博客文章,WordPress会在当前活动主题的目录中查找post.php文件。如果找到模板,它将include()。

为了拥有额外的自定义内容,可能需要WordPress包含一个上传的自定义模板。为此,用户必须在数据库中设置Post me ta中的_wp_page_template,例如文件名。这里唯一的限制是要包含的文件必须位于当前活动主题的目录中。

通常,用户无法访问此目录,也无法上载任何文件。但是,通过利用上述目录遍历,就可以把包含恶意代码的图像放入当前使用主题的目录中。然后,攻击者使用前面的方法更改_wp_attached_file,以include()恶意图像。最后,攻击者成功进行任意远程代码。

二、影响范围

WordPress<= 5.1.1。

三、处置建议

WordPress官方已发布补丁予以修复漏洞。建议开启WordPress默认自动更新环境及时更新。

附件:参考链接 

https://wordpress.org/news/2019/03/wordpress-5-1-1-security-and-maintenance-release。

  WordPress5.0.0,远程,代码,执行,漏洞,预警,

售前在线咨询

以下为10位资深销售主管官方企业Q,更多销售员Q请咨询销售主管

售后服务

或与官方提供的专属QQ一对一直接服务

工作时间: 周一至周五 9:30至17:30 周六13:30至17:30,其它日期按国家法定节假日休假,如果有不便之请敬请谅解! 售后技术支持:多部门7*24小时机制

客户投诉留言

电话和QQ,以便我们为您提供优质服务! *为必填项