CVE-2026-88861 Capgo AAL1 Session MFA Bypass via Direct RBAC Authorization
Attackers with a password can bypass MFA to gain admin privileges and modify production OTA configurations in Capgo.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-88861?
CVE-2026-88861 is a high-severity authentication bypass vulnerability in Cap-go capgo.app, published on 10 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Weakness: CWE-288
Which versions are affected by CVE-2026-88861?
How do I fix CVE-2026-88861?
No fix has been published for CVE-2026-88861 yet. Limit exposure of the affected software until one is available.
Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.
Is CVE-2026-88861 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-88861 exists.
Public exploit code: 1 proofs of concept on GitHub.
Sources
Also known as GHSA-3rq3-733w-v2c4.