bleeping computer 报道称:安全研究人员在 wordpress 的“php everywhere”插件中发现了三个严重的远程代码执行(rce)漏洞,导致全球超过 3 万个使用该插件的网站都受到了影响。据悉,该插件旨在方便管理员在页面、帖子、侧边栏、或任何 gutenberg 块中插入 php 代码,并借此来显示基于评估的 php 表达式的动态内容。

wordfence 安全分析师指出,cvss v3 评分高达 9.9 的这三个漏洞,可被贡献着或订阅者所利用,且波及 2.0.3 及以下的所有 wordpress 版本。

首先是 cve-2022-24663:

只需发送带有‘短代码’参数设置的 php everywhere 请求,任何订阅者都可利用该 rce 漏洞,并在站点上执行任何 php 代码。

其次是 cve-2022-24664:

贡献者可借助插件的元框来利用该 rce 漏洞,前提是创建一则帖子,添加一个 php 代码元框,然后进行预览。

然后是 cve-2022-24665:

具有 edit_posts 权限、并可添加 php everywhere gutenberg 块的贡献者们,都可利用该 rce 漏洞。

在易受攻击的插件版本中,php everywhere 并未默认指定‘仅管理员权限’可用的安全设置,结果留下了这一隐患。

尽管后两个漏洞因需要贡献者的权限级别而不那么容易被利用,但首个漏洞还是让业界感到惊诧不已。

举个例子,只要某个用户在网站上以‘订阅者’的身份登录,便足以获得相应的权限来执行恶意 php 代码。

不论怎样,可在网站上执行任意代码,都可能导致整个站点被攻击者所接管 —— 这也是所有网站安全事故中最糟糕的一种情况。

截图(来自:wordfence)

在 2022 年 1 月 4 日发现了上述漏洞字后,wordfence 团队很快就向 php everywhere 作者通报了此事。

厂商于 2022 年 1 月 10 日发布了 3.0.0 版安全更新,由于需要大量重写代码,所以版本号也发生了重大改变。

尴尬的是,尽管开发者行动迅速,但网站管理员普遍不怎么会定期更新其 wordpress 网站和插件。

由 wordpress.org 分享的统计数据可知,自 bug 修复方案推出以来,3 万次安装中只有 1.5 万次更新了插件。

有鉴于此,考虑到三个 rce 漏洞的严重性,我们在此强烈建议所有 php everywhere 用户确保其已升级到最新可用的 3.0.0 版本。

需要注意的是,如果你在站点上使用了经典编辑器,则需要先卸载该插件、并找到替代解决方案,以在其组件上托管自定义的 php 代码。

因为 php everywhere 的 3.0.0 版本仅支持基于 block 编辑器的 php 片段,且作者不大可能致力于恢复落后的 classic 功能。