WordPress 预认证 XSS 漏洞可致 PHP 代码执行,请立即修复
导语:WordPress 修复了一处影响所有版本的预认证反射型 XSS 漏洞(CVE-2026-64638,CVSS 8.9),该漏洞位于登录界面中。在已登录管理员点击攻击者控制页面的场景下,可被串联为服务器端 PHP 代码执行,WordPress 7.0.3 及 4.7 分支已修复。
WordPress 已修复其登录界面中存在的一处预认证反射型跨站脚本(XSS)漏洞,该漏洞影响该内容管理系统的所有版本。pwn.ai 演示了当已登录的管理员与攻击者控制的页面交互时,该漏洞如何被串联成服务器端的 PHP 代码执行。
该高危漏洞编号为 CVE-2026-64638(CVSS 评分:8.9),无需任何攻击者权限即可利用。据发现该漏洞并向 The Hacker News 分享技术细节的 pwn.ai 表示,登录页面的 XSS 不需要身份认证。一旦精心构造的用户名进入登录失败错误页面,所产生的 JavaScript 便会立即在访客浏览器中执行,在该页面无需进一步交互。
代码执行路径需要受害者已经以管理员(Administrator)身份登录,并显式与攻击者控制的页面进行交互。在 pwn.ai 的演示中,这种交互仅需一次普通的点击。研究人员告诉 The Hacker News,该攻击针对默认安装的 WordPress 生效,且不需要特殊的托管或部署配置。研究人员表示,他们拥有从 XSS 通往代码执行的多种路径,包括安装插件或上传任意 ZIP 文件的变体。
WordPress 自己的安全公告对可利用性持更为谨慎的态度,指出向 RCE(远程代码执行)的升级涉及攻击者无法控制的条件,需要成功的社会工程学以及受害者显式交互配合才能完成。
该问题已于 8 月 6 日在 WordPress 7.0.3 中修补,修复已通过 4.7 分支向后移植。WordPress 建议立即更新,支持自动后台更新的站点将自动接收到该安全版本。低于 4.7 的版本仍然受影响,但已超出项目当前的向后移植支持范围。
研究人员将整个攻击链命名为 XSS2Shell,并表示其自动化系统在以 Paulos Yibelo 于 2022 年发表的同源方法执行(Same Origin Method Execution,SOME)研究为起点后,自主发现并复现了整条漏洞链。该公司表示,相关工作耗时近四天,使用的是开源模型与多智能体(multi-agent)工作流。该链于 7 月 26 日复现,并于次日报告给 WordPress。

该漏洞的根源在于 WordPress 处理失败登录用户名的方式。据研究人员介绍,相关值会经过 sanitize_user() 和 wp_strip_all_tags()(后者依赖 PHP 的 strip_tags())的处理。包含在开标签 < 之后带空白字符的类标签字符串,能够以文本形式通过该解析器。随后,WordPress 再使用 wp_kses_post() 处理该值,其独立的解析器会将相同的输入解释为允许的 HTML。其结果是,在登录失败页面上出现了由攻击者控制的实时 DOM 元素。
这些元素随后会与 WordPress 自带的 user-profile.js 交互。由于登录页面同时处理密码重置,该用户资料管理脚本也会在登录页面上加载。该脚本预期的一些资料页面元素在该页面上并不存在:两个缺失的输入(input)都会解析为 undefined,从而使等值检查通过;而通常未定义的 ajaxurl 变量则可被注入的 DOM 元素覆盖。这使得 WordPress 自带的 JavaScript 转向攻击者选定的同源 REST 请求。
研究人员利用 WordPress 的 REST JSONP 支持,将该请求转换为在该站点源(同源)中执行的 JavaScript。对于匿名 REST 请求返回 HTTP 401 的部署场景,_envelope=1 参数可以将拒绝响应包裹在一个外层的 HTTP 200 响应中,从而允许 jQuery 继续将该响应作为脚本来处理。研究人员在测试中还发现,使用 strict-dynamic 的基于 nonce 的内容安全策略(CSP)未能阻止其演示的攻击路径。
从 XSS 到 PHP 执行的攻击路径建立在 Yibelo 早期的 SOME 技术之上,该技术利用允许的 JSONP 属性链来调用另一个浏览器窗口中的方法。pwn.ai 演示的一条路径利用 WordPress 同源的 XSS,在已登录管理员会话内调用原生的"应用密码(Application Password)"审批控件。WordPress 随后会创建一个 API 凭证,并将其重定向到攻击者选定的 HTTPS success_url。应用密码是可撤销的凭证,专用于 API 访问,因此该路径无需窃取管理员的主密码。研究人员使用该凭证进行经认证的 REST 访问,以发布包含同源 JavaScript 的 WordPress 页面。当保留的管理员会话打开该页面时,其脚本获取 WordPress 的插件上传 nonce,并上传攻击者提供的 ZIP 文件。然后可以直接从解压后的插件请求执行 PHP。该插件不需要被激活。
他们并未在真实系统上尝试应用密码创建、文件上传、持久化或 PHP 执行。完整的 PHP 执行链是在一个干净的本地 WordPress 7.0.2 安装环境中独立演示完成的。研究人员表示,已知的 WordPress 加固措施不应被视为对底层 XSS 的完整缓解方案,应用安全更新是必需的。
来源信息
来源:The Hacker News
原文链接:https://thehackernews.com/2026/08/new-wordpress-pre-auth-xss-could-lead.html
作者:info@thehackernews.com (The Hacker News)

