Capgo AAL1 Session MFA Bypass via Direct RBAC Authorization
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-288.
Summary
Capgo (Cap-go/capgo.app) contains an authentication bypass affecting all versions (no patched version available at time of publication). The Edge authorization path allows a password-only Supabase aal1 session to exercise privileged RBAC permissions even when the account has a verified MFA factor that has not been used for the session: the Edge JWT middleware (foundJWT() in supabase/functions/_backend/utils/hono_middleware.ts) accepts the JWT without validating its assurance level, and the direct RBAC path (checkPermission()/checkPermissionPg() in supabase/functions/_backend/utils/rbac.ts calling public.rbac_check_permission_direct()) authorizes by user ID without passing or checking the session aal, unlike the public.verify_mfa() control which correctly requires aal2. An attacker who knows only the victim's password can therefore authenticate, mint a persistent app-scoped app_admin API key that remains valid after the aal1 session is logged out, and perform privileged operations such as modifying production OTA channel configurations (validated by changing a public production channel from bundle 1.0.0 to 1.0.1), defeating the protection provided by MFA.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-88861
- 2026-10-03 Alias added: GHSA-3rq3-733w-v2c4
References
More Capgo vulnerabilities
- TI-2026-40602 Capgo - Unauthenticated API Key Generation via Client-Side Parameter Manipulation CVSS 4.0CRITICAL 9.3
- TI-2026-40473 Cap-go - Account Lockout via 2FA Misconfiguration on Unverified Email CVSS 4.0CRITICAL 9.3
- TI-2026-40465 Cap-go - OTP Bypass via Response Manipulation in Email Verification CVSS 4.0CRITICAL 9.3
- TI-2026-64782 capgo.app through 12.129.0 Cache Restoration of Deleted Bundles CVSS 4.0HIGH 8.7
- TI-2026-40704 Capgo - Unauthenticated Organization Existence Enumeration via rescind_invitation RPC CVSS 4.0HIGH 8.7
- TI-2026-40689 Capgo - Rate Limit Bypass via User-Controlled device_id Parameter CVSS 4.0HIGH 8.8
Sources
- CVE-2026-88861 · CVE Program
- CVE-2026-88861 · NVD
- FIRST EPSS
- GHSA-3rq3-733w-v2c4 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences