流行的WordPress安全插件WP Ghost中发现的严重漏洞

已在流行的 WordPress 插件 WP Ghost 中发现了一个高严重性安全漏洞。WP Ghost 拥有超过 200,000 个有效安装,是由 John Darrel 开发的广泛使用的免费安全和防火墙插件。

该插件旨在通过添加“多层安全性来阻止机器人并防止未经授权的访问”来增强 WordPress 网站的安全性。该漏洞是一个未经身份验证的本地文件包含 (LFI) 缺陷。当用户在 URL 路径中提供的输入在用于包含文件之前未得到充分验证时,就会出现此类漏洞。在 WP Ghost 的情况下,此缺陷可能允许攻击者在受影响的系统上执行远程代码执行 (RCE)。该漏洞已被分配为 CVE-2025-26909,CVSS 评分为 9.6,表明其严重性。该漏洞存在于 showFile 函数中,该函数可以从 maybeShowNotFound 函数中调用。maybeShowNotFound 函数与 template_redirect作挂钩,这意味着它可以由未经身份验证的用户触发。如果未经身份验证的用户尝试访问不存在的路径或文件,则调用 maybeShowNotFound 函数,该函数反过来调用 showFile 函数。问题在于 showFile 函数中如何处理 $new_path 变量。此变量从 -> -> 函数链接收其值。然后,该值将直接传递给 require_once 函数,而无需进行适当的检查或清理。getCurrentURLgetOriginalUrlgetOriginalPath这种缺乏验证的情况允许攻击者执行路径遍历并在服务器上包含任意文件,从而可能导致任意代码执行。可以采用利用 LFI 到 RCE 的常见技术,例如 php:// 滤波器链和 PHP_SESSION_UPLOAD_PROGRESS 技巧。需要注意的是,只有当 WP Ghost 中的“更改路径”功能设置为“Lite”或“Ghost”模式时,才能利用此漏洞。默认情况下,此功能未启用。该漏洞已在 WP Ghost 版本 5.4.02 中得到解决。强烈建议用户立即更新到此版本。
分类