(9.1分) CVE-2026-97670:Avada表单未授权调用任意Hook,可永久删站内容

admin 2026年10月13日15:09:58评论56 views字数 2918阅读9分43秒阅读模式

Avada插件爆出9.1分严重漏洞CVE-2026-97670,未认证攻击者可通过公开表单接口调用任意WordPress action hook,永久删除站点内容,默认配置即受影响。

百万级装机的 Avada 插件爆 9.1 分未授权漏洞:一个公开表单接口就能永久删除站点内容,默认配置即中招。

Avada(Fusion Builder)是 WordPress 商业排名第一的站点构建插件,装机量以百万计。CVE-2026-97670 评分为 9.1 分(Critical):攻击者不需要登录,通过一个公开的表单提交接口就能调用 WordPress 任意 action hook,已验证的利用可以直接把回收站里的文章、页面、评论永久删除,不可恢复。只要你的站上有一张发布状态的 Avada 表单,默认配置就满足利用条件——这篇讲清根因、推演攻击路径、给出检测命令和修复方案。

01  漏洞速览

漏洞编号CVE-2026-97670
影响产品Avada (Fusion) Builder 插件
受影响版本全版本 ≤ 7.16.1
已修复版本7.16.2
漏洞类型未授权任意 Hook 调用
危害等级9.1 Critical
攻击前提无需认证,存在已发布表单即满足
在野利用暂无,细节已公开
公开 PoC无(仅有验证性描述)

影响面一句话:未认证攻击者一次请求可调用多个 WordPress hook,造成内容永久删除、DoS,甚至借助第三方插件 handler 实现特权写入。

02  漏洞成因

这个洞的根因是授权校验的位置放错了,而且错得很隐蔽。

Avada 表单支持动态数据 token 机制,其中有一个 {action_hook,...} token——本意是让站长在表单通知邮件模板里(email_message 的 [field] 占位符)灵活指定提交后要触发的动作。问题在于:插件直接拿攻击者可控的表单字段值去拼接 WordPress action hook 的名字,然后 dispatch 执行。

有人会问:插件不是有防护吗?有。7.16.1 版本里有一道信任闸门 is_content_request_supplied(),但这道闸门只检查 $_POST['args'] 和 $_GET['args'] 两个来源——而公开的表单提交端点实际解析的是 $_POST['formData'],这条路径完全没有被校验覆盖。防护检查的变量和攻击入口的变量根本不是同一个,等于门口装了铁门、窗户却开着。

结果就是:未认证攻击者提交一个精心构造的表单,就能让 WordPress 执行任意非黑名单的 action hook,而且一次请求可以调用多个。同一套动态数据管线还附带一个盲注式的任意 user/post-meta 读取——不过读取结果只会出现在发给站主的通知邮件里,攻击者自己拿不到,危害有限。

03  影响范围

受影响:Avada (Fusion) Builder 全版本 ≤ 7.16.1。已修复:7.16.2(该版本同时修复了表单 XSS/注入、升级例程反射 XSS、Instagram 元素信息泄露、Stripe 按钮校验缺失、WooCommerce 订单信息泄露、Subscriber+ 存储型 XSS 共 6 个安全问题)。

利用条件:站点有发布状态的 Avada 表单 + 表单通知模板含 [all_fields] 或 [field] 占位符——这就是默认表单配置,几乎不需要额外条件。

04  危害推演

没有公开 PoC,不编造利用代码,但从成因推演攻击路径很直接:

第一步:探测目标站是否跑 Avada。读首页源码看 fusion-builder 相关的 CSS/JS 路径,或者看是否存在 Avada 表单的 AJAX 提交端点。

第二步:构造表单提交。把 {action_hook} token 要消费的字段值设成目标 hook 名,走公开的 formData 提交路径发出去——这条路径不经过 is_content_request_supplied() 校验。

第三步:dispatch 执行。已验证的后果是调用核心的 wp_scheduled_delete hook,让 WordPress 清空回收站——回收站里的文章、页面、评论永久删除。对内容站来说这就是实打实的数据破坏。

再往下:调用 wp_maybe_auto_update 可以打 DoS;如果站上装了注册了高危 handler 的第三方插件(对 hook 名不在黑名单里),还可能实现特权写入。黑名单只挡了一小部分核心 hook,其他全靠猜和枚举。

一次请求能调多个 hook,意味着单请求就能组合出更大的破坏面。

05  检测与排查

判断自己是否受影响,最直接的是在站点根目录用 WP-CLI 查插件版本,≤ 7.16.1 即受影响:

wp plugin list --field=name |

  grep fusion-builder

wp plugin get fusion-builder

  --field=version

然后检查站点是否有发布状态的 Avada 表单(后台 Avada → Forms),有的话风险成立——哪怕表单只是放着没用,只要处于发布状态就构成利用条件。

排查是否已被利用:重点看内容异常缺失(回收站被清空、定时任务异常触发),以及访问日志里对表单提交端点的高频异常 POST(formData 中带可疑 hook 名,如 wp_scheduled_delete)。

06  修复建议

升级到 7.16.2 或更新版本,这是唯一完整修复方案,升级同时解决该版本披露的其余 5 个安全问题。

升级前先备份站点和数据库——这次漏洞的已验证危害包含不可恢复的内容删除,别赌。

一时无法升级:临时停用 Avada 表单(不发布状态),或用 WAF 规则拦截表单提交端点中 formData 含 {action_hook} / wp_scheduled_delete 等可疑 hook 名的请求。

升级验证:确认后台显示 7.16.2,重新提交一张测试表单,验证通知邮件正常、站点行为无异常。

07  红队视角

门槛极低。无需认证、无需 UI 交互、攻击复杂度低(AV:N/AC:L/PR:N/UI:N),默认表单配置即满足条件——这是打 WordPress 站的理想靶子。百万级装机量的商业插件 + 公开细节,预期接下来会有批量探测出现。

破坏面大于数据面。有意思的地方在于它不是直接拿数据:CVSS 向量里 C:N/I:H/A:H,机密性无损(盲读拿不走),但完整性和可用性是满分。对红队来说这是典型的破坏型武器;如果目标站有价值,删回收站只是开始,hook 枚举面才是深挖方向。

横向关联:Avada 今年可以说流年不利——8 月刚修过 9.8 分的任意文件写 RCE(CVE-2026-18431),6 月还有 9.1 分的未授权任意文件删除(CVE-2026-8713)。同样是表单/动态数据管线反复出洞,用这个插件的站建议把更新节奏当安全工作第一优先级。

防御侧提示:这类漏洞的共同教训是授权校验必须覆盖所有输入路径——插件作者修了 args 却漏了 formData,防守方不能指望黑名单 hook 的思路挡住所有滥用,升级才是唯一可靠解。

如果文章对您有收获,欢迎关注、点赞、推荐、转发。

— END —

原文始发于微信公众号(红队安全圈):(9.1分) CVE-2026-97670:Avada表单未授权调用任意Hook,可永久删站内容

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2026年10月13日15:09:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   (9.1分) CVE-2026-97670:Avada表单未授权调用任意Hook,可永久删站内容http://cn-sec.com/archives/5490218.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息