PHP Everywhere 是一个开源的 WordPress 插件,它允许 WordPress 管理员在页面、帖子、侧边栏或任何 Gutenberg 块中插入 PHP 代码,并使用它来显示基于评估的 PHP 表达式的动态内容。
近日 Wordfence 安全研究员发现 PHP Everywhere 存在三个 RCE 漏洞,三个漏洞的 CVSS 评分全都达到 9.9(最高分 10 分),将会影响 2.0.3 及后续所有 WordPress 版本。它们是 CVE-2022-24663、CVE-2022-24664 和 CVE-2022-24665。
目前全球有超过 3 万个网站使用该插件,攻击者可以利用该插件在受影响的系统上执行任意代码,大量 WP 网站面临风险。
三个漏洞的简短描述如下:
- CVE-2022-24663 – 远程代码执行漏洞,任何订阅者都可以利用该漏洞发送带有“短代码”参数设置为 PHP Everywhere 的请求,并在站点上执行任意 PHP 代码。
- CVE-2022-24664 – 贡献者可以通过插件的元框利用的远程代码执行漏洞。攻击者会创建一个帖子,添加一个 PHP 代码元框,然后预览它。
- CVE-2022-24665 – 具有“edit_posts”功能以使用 Gutenberg 块的贡献者可以利用的远程代码执行漏洞。易受攻击的插件版本的默认安全设置不是“仅限管理员”。
WordPress 所属公司 Wordfence 表示已在 1 月 4 日将问题告知该插件的作者 Alexander Fuchs,随后在 1 月 12 日发布新版本 3.0.0,完全删除了易受攻击代码。
该插件的更新说明页面指出,“3.0.0 版本的更新具有重大变化,删除了 PHP Everywhere 短代码和小部件。运行插件设置页面的升级程序,将旧代码迁移至 Gutenberg 块。”
值得注意的是,3.0.0 版本仅支持通过块编辑器的 PHP 代码片段,这意味着依赖于经典编辑器的用户必须卸载该插件并选择另一种使用自定义 PHP 代码的解决方案。