该漏洞已经在 WordPress core 中隐藏了6年未被发现。
漏洞描述
Author 权限的用户可以发布、编辑文章,以及上传图片等。拥有Author权限的攻击者,可以上传恶意构造的图片文件,该文件正常情况下会被保存至/wp-content/uploads/目录下,通过http://targetserver.com/wp-content/uploads/evil.jpg 可以访问到该图片。
在 WordPress 中,当一个图片被更新时,edit_post() 函数会被触发。该函数直接操作了由攻击者可控的 $_POST 数组:
由于没有安全检查,通过这种方式,攻击者可以更新 _wp_attached_file 的 meta_value,将其设置为任意值。此过程不会重命名文件,但通过利用处理文件路径和 HTTP URL 的差异性,可以使裁剪图片的操作触发路径穿越,将恶意图片文件移动到当前主题的目录下。
当前主题目录下的文件正常情况下无法改动,但是可以被包含执行。结合上面的路径穿越,最终即造成远程代码执行漏洞。
影响范围
WordPress 5.0.0
WordPress 4.9.8 及之前的版本
解决方案
更新 WordPress 至最新版。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。