CVE-2026-88861
Capgo AAL1 会话通过直接 RBAC 授权绕过 MFA
- 已发布
- 2026年9月10日
- 已更新
- 2026年9月15日
- 分配 CNA
- VulnCheck
- 观察到的证据
- 2026年9月11日
初级CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X低 · 未来 30 天
- 百分位
- 21.9%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Capgo(Cap-go/capgo.app)存在一个影响所有版本的认证绕过漏洞(截至发布时没有可用的修复版本)。Edge 授权路径允许仅凭密码的 Supabase aal1 会话行使特权 RBAC 权限,即使该账户拥有已验证但未用于该会话的 MFA 因素:Edge JWT 中间件(位于 supabase/functions/_backend/utils/hono_middleware.ts 中的 foundJWT())接受 JWT 而不验证其保证级别,而直接 RBAC 路径(位于 supabase/functions/_backend/utils/rbac.ts 中的 checkPermission()/checkPermissionPg() 调用 public.rbac_check_permission_direct())仅凭用户 ID 进行授权,而不传递或检查会话 aal,这与 public.verify_mfa() 控制不同,后者正确地要求 aal2。因此,仅知道受害者密码的攻击者即可通过认证,生成一个持久的、应用范围的 app_admin API 密钥,该密钥在 aal1 会话注销后仍然有效,并执行特权操作,例如修改生产 OTA 通道配置(通过将公共生产通道从 bundle 1.0.0 更改为 1.0.1 得到验证),从而绕过 MFA 提供的保护。
来源
1受 CVE-2026-88861 启发的 SecDim Challenge Builder 复现:特权凭据边界处的 AAL1 MFA 绕过
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。