CVE-2026-100619 Capgo OTA Manifest Poisoning via app_versions.manifest Bypass
Attackers with write access can poison OTA manifests via a trusted async worker, enabling malicious code execution on client devices.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-100619?
CVE-2026-100619 is a high-severity missing authorization vulnerability in Cap-go capgo.app, published on 26 Sep 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Weakness: CWE-266
Which versions are affected by CVE-2026-100619?
How do I fix CVE-2026-100619?
No fix has been published for CVE-2026-100619 yet. Limit exposure of the affected software until one is available.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-100619 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-100619 exists.
Sources
Also known as GHSA-xj78-q428-xww2.