External Media Plugin中修补的严重漏洞

2021 年 2 月 2 日,我们的威胁情报团队负责任地披露了 External Media(一个 8,000 多个站点使用的 WordPress 插件)中的漏洞的详细信息。该漏洞使得经过身份验证的用户(例如订阅者)可以在运行该插件的任何站点上上传任意文件。此漏洞可用于实现远程代码执行并接管 WordPress 站点。

我们最初于 2021 年 2 月 2 日联系了该插件的开发者。在建立了适当的沟通渠道后,我们在同一天提供了完整披露。经过几次小补丁和与开发人员的跟进之后,一个完整的补丁版本发布为 1.0.34 版。

这被认为是一个严重的漏洞。因此,我们强烈建议立即更新到可用的最新补丁版本 1.0.34。

Wordfence Premium 用户在 2021 年 2 月 2 日收到了一项防火墙规则,以防止任何针对此漏洞的攻击。仍在使用 Wordfence 免费版本的网站在 2021 年 3 月 4 日收到了相同的保护。

外部媒体是一个 WordPress 插件,旨在允许用户从外部来源上传媒体文件。不幸的是,该插件存在一个缺陷,使得订阅者等经过身份验证的低级别用户可以从外部来源上传 PHP 文件。任何允许任何人注册为订阅者的站点都特别容易受到攻击。

该插件注册了一个 AJAX 操作,wp_ajax_upload-remote-file,它与 upload_remote_file 函数相关联。除了一些其他字段之外,此函数还用于获取远程文件的名称、URL 和标题。

public function upload_remote_file() {
  $file = $_POST['url'];
  $plugin = $_POST['plugin'];
  $filename = $_POST['filename'];
  $caption = !empty($_POST['caption']) ? $_POST['caption'] : '';
  $referer = !empty($_POST['referer']) ? $_POST['referer'] : '';
  $loaded_plugin = $this->load_plugin( $plugin );
  $this->_call_class_method( $loaded_plugin['phpClassName'], 'download', array( $file, $filename, $caption, $referer ) );
  }

此信息用于加载“插件”方法以上传文件,然后触发“下载”功能,最终触发将远程文件保存到服务器的文件上传功能“save_remote_file”。

不幸的是,没有能力检查来验证用户是否具有上传文件的适当能力,这允许登录运行插件的 WordPress 站点的任何用户使用外部媒体功能上传文件。也没有随机数检查,使攻击者可以使用跨站点请求伪造攻击来利用此功能。

除了缺少功能和随机数检查之外,没有对上传的文件名进行验证,这使得设置 PHP 文件扩展名成为可能。这有效地允许经过身份验证的用户将 PHP 文件上传到可用于远程执行代码的易受攻击的站点,最终允许攻击者完全接管易受攻击的 WordPress 站点。

结论

在今天的帖子中,我们详细介绍了外部媒体中的一个漏洞,该漏洞使经过身份验证的攻击者能够将任意文件上传到易受攻击站点的服务器并实现远程代码执行。此漏洞已在 1.0.34 版中完全修补。我们建议所有用户立即更新到可用的最新版本,即本文发布时的 1.0.34 版。

声明:本站带有” 原 “字文章,均为本站作者原创发布。原创文章任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站作者内容侵犯了原著者的合法权益,可联系我们进行处理。

文章来源 wordfence https://www.wordfence.com/blog/2021/05/critical-vulnerability-patched-in-external-media-plugin/

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 软件商用保障
    正版采购,正规版权
  • 终身SVIP
    一次购买,终身受益
  • 海量资源
    教程、主题、插件一应俱全
  • 高效学习
    多位资深大佬,坐台解答
  • 信用保证
    数百万站长和用户的选择