如果你的 WordPress 安装了 PHP Everywhere,那么你要赶快升级到 3.0 版本或者删除了,因为近日该插件被披露存在三个严重的安全漏洞,攻击者可在受影响的网站上利用该漏洞,执行任意代码。
PHP Everywhere 插件
PHP Everywhere 可以让你在 WordPress 随时随地使用 PHP 代码,使用户能够在 WordPress 的文章,页面和侧边栏中插入和执行 PHP 的代码,根据 WordPress 官方插件库的数据,该插件已被 3 万多个 WordPress 站点使用。
三个严重级的远程代码执行漏洞
这三个漏洞在 CVSS 评级系统中都被评为 9.9 分(最高 10 分),影响了 PHP Everywhere 插件 2.0.3 及以下版本,漏洞具体细节如下:
- CVE-2022-24663 - 只要订阅者权限的用户就可以通过短代码进行远程代码执行。
- CVE-2022-24664 - 通过编辑界面的窗体进行远程代码执行(该漏洞需要贡献者的权限,因此严重程度较低)。
- CVE-2022-24665 - 通过古腾堡编辑器块进行远程代码执行(同样需要贡献者的权限)
如果网站存在这三个漏洞,黑客将可以利用它们并执行恶意的 PHP 代码,甚至可以实现对网站的完全接管。
PHP Everywhere 3.0.0 解决问题
安全公司 Wordfence 在1月4日就向插件的作者上述这些漏洞,随后在1月12日发布了 PHP Everywhere 3.0.0 更新版,已完全删除了有漏洞的代码。
3.0.0 版本通过移除短代码功能,并且提供一个升级向导,将旧的短代码升级到 Gutenberg 编辑器里面的块(block)。但是 3.0.0 版本只支持古腾堡编辑器,不再支持原来的经典编辑器了。
我个人不太建议直接在后台输入 PHP 代码,然后让前台执行,首先这个对用户的代码能力要求非常高,然后这类插件的安全性一直会存在问题,个人还是觉得通过修改模板或者其他模板能力的插件来实现类似的功能。