漏洞速览
- 漏洞编号:
CVE-2026-89426 - 风险评分:
8.8(高危) - 首次披露:2026-09-24
- 最近更新:2026-09-24
- 软件类型:插件
- 软件标识:
knit-pay - 受影响版本:<= 9.6.1.0
- 修复版本:9.6.2.0
- 是否已修复:是
漏洞详情
Knit Pay 插件(支持 Cashfree、Instamojo、Razorpay、PayPal 等支付方式)在 9.6.1.0 及之前所有版本中存在权限提升漏洞。问题出在 maybe_update_user_role() 函数直接读取攻击者可控制的 Gravity Forms 表单项字段值(通过 feed 中的 user_role_field_id 配置),并将其传入 WP_User::set_role(),而未对所传入的角色值进行白名单校验。这使得具备订阅者及以上权限的已认证攻击者可以在表单提交时篡改隐藏的角色字段,从而将自己的权限提升为管理员。漏洞利用的条件还包括:0 美元订单在表单提交时会被同步标记为"成功",无需真实支付;以及当无法解析到 GF User Registration 用户时,角色赋值目标会回退到 $lead['created_by']——即当前已认证提交者自己的用户 ID,这使得任何已认证的表单提交者都能成为潜在的利用目标。
影响与风险
- 漏洞类型:Authenticated (Subscriber+) Privilege Escalation via Gravity Forms Role Field
- 风险说明:漏洞可被用于权限提升,低权限账号可能借此获得更高后台控制能力。
- 研究人员:moonge
修复建议
- 按官方建议执行修复:更新至 9.6.2.0 或更高已修复版本。
- 复核
administrator/shop manager等高权限账号与角色授权。 - 排查近期插件安装/配置变更记录,确认无异常写入。
- 建议配合 WAF 与登录审计,持续观察可疑请求。
