Read the docs

Capgo App Icon Update Privilege Escalation via Service-Role Worker

Priority HIGH 71CWE-639Published · Updated

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-639.

Summary

Capgo (capgo.app) is affected by an authorization flaw in the app icon update path. The PUT /app/:id endpoint accepts a user-controlled `icon` value, normalizes it, and stores it in public.apps.icon_url without verifying that the image path belongs to the target app's own image namespace (e.g. org/{owner_org}/{app_id}/...). Updating apps.icon_url fires the on_app_update trigger, whose worker reads record.icon_url and calls cleanStoredImageMetadata(), which runs with service-role credentials (supabaseAdmin()) and downloads and re-uploads the referenced storage object with upsert: true. As a result, an authenticated holder of an app-limited write API key can cause the privileged worker to rewrite an out-of-scope private image object (for example an organization logo) that the key cannot read or write directly under Supabase Storage RLS. All versions are affected; no patched version was available at the time of the advisory.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00258 17th 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
Partial

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-100618
  2. 2026-10-03 Alias added: GHSA-v4jw-rcpm-rf82

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