PHP Everywhere 是一个开源的 WordPress 插件,近日该插件被披露存在三个严重的安全漏洞,该插件已被全球超过3万个网站使用,攻击者可在受影响的网站上利用该漏洞,执行任意代码。
PHP Everywhere 可以随时随地启用 WordPress 上的 PHP 代码,使用户能够在内容管理系统的页面、帖子和侧边栏中插入和执行基于 PHP 的代码,该插件还支持不同的用户限制和多个 PHP 实例。
这三个漏洞在 CVSS 评级系统中都被评为9.9分(最高10分),影响了2.0.3及以下版本,漏洞具体细节如下:
- CVE-2022-24663- 该漏洞允许任何经过身份验证的用户通过parse-media-shortcodeAJAX 操作执行简码(shortcode),从而进行远程代码执行(网站上几乎没有权限的登录用户,也可以完全接管网站,即 WordPress 中的订阅者)。
- CVE-2022-24664- 通过 metabox 进行远程代码执行(该漏洞需要 WordPress 贡献者级别的权限,因此严重程度较低)。
- CVE-2022-24665- 通过 gutenberg 块进行远程代码执行(同样需要 WordPress 贡献者级别的权限)
如果网站存在这三个漏洞,黑客将可以利用它们并执行恶意的 PHP 代码,甚至可以实现对网站的完全接管。
WordPress 安全公司 Wordfence 在1月4日就向该插件的作者 Alexander Fuchs 披露了上述这些漏洞,随后在1月12日发布了3.0.0版本的更新中,已完全删除了有漏洞的代码。
PHP Everywhere 的更新说明显示:
这个插件的3.0.0版本更新具有重大变化,移除了 PHP Everywhere 的简码和小组件。从该插件的设置页面运行升级向导,将你的旧代码迁移到 Gutenberg 块。
需要注意的是,3.0.0版本只支持通过块编辑器(Block editor)的 PHP 代码片段,这使得仍然依赖经典编辑器的用户必须卸载该插件,并下载一个替代解决方案来托管自定义 PHP 代码。
根据 WordPress 的统计数据显示,自修复错误以来,目前仅有1.5万个网站更新了该插件。