Read the docs

Capgo OTA Manifest Poisoning via app_versions.manifest Bypass

Priority HIGH 73CWE-266Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Privilege escalation
Confidentiality · integrity · availability
High · High · High
Fix status
No fix listed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-266.

Summary

Capgo (capgo.app) blocks direct user inserts into the public.manifest table with a RESTRICTIVE row-level security policy, but that restriction can be bypassed indirectly. A principal holding an app-scoped upload/write/all API key (upload+ rights) or an authenticated user with write+ rights on an app can update public.app_versions.manifest on a version whose storage_provider is 'r2-direct', which is not covered by the bundle content-lock check. The on_version_update async worker trusts record.manifest and, using the service-role Supabase client, inserts the attacker-controlled file_name, file_hash, and s3_path into public.manifest before clearing app_versions.manifest. When a channel points to the crafted version, the /updates endpoint returns the service-role-created manifest entry as a client-facing download_url, enabling OTA manifest poisoning through a trusted async worker path. All versions are affected; no patch was available at the time of publication.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00407 35th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

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

VendorProductAffected versionsFixed inStatusSource
Capgocapgo.appall versions—No fix listedCNA
  • capgo.app VendorCapgo Affected all versions Fixed in — No fix listed CNA

Remediation

No fixed version listed by the sources yet.

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-100619
  2. 2026-10-03 Alias added: GHSA-xj78-q428-xww2

References

  • 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
See all 124 →

Sources