Skip to main content

Capgo EUVDEUVD-2026-42246

| CVE-2026-56217 MEDIUM
Improper Access Control (CWE-284)
2026-07-08 disclosure@vulncheck.com GHSA-4pg3-prvr-6562
5.3
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
4.3 MEDIUM

Network-reachable API requiring a valid app-scoped key (PR:L); impact is limited to integrity of encryption metadata fields with no confidentiality or availability consequence.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

2
Patch available
Jul 08, 2026 - 15:01 EUVD
Analysis Generated
Jul 08, 2026 - 14:59 vuln.today

DescriptionCVE.org

Capgo before 12.128.2 contains a policy bypass vulnerability in app_versions update enforcement that allows app-scoped API keys to downgrade encrypted bundles to non-encrypted state. Attackers with app-scoped all API keys can directly update the app_versions table via PostgREST to clear session_key and key_id fields, bypassing organization-enforced encrypted-bundle policies and weakening OTA security controls.

AnalysisAI

Policy bypass in Capgo's OTA update enforcement allows holders of app-scoped API keys to downgrade encrypted app bundles to an unencrypted state by directly manipulating the app_versions table through PostgREST. Affected versions are all Capgo releases prior to 12.128.2. An attacker in possession of an app-scoped 'all' API key can nullify organization-level encrypted-bundle policies, silently stripping the cryptographic protections applied to over-the-air mobile updates and enabling distribution of unencrypted bundles to end-user devices. No public exploit code exists and this vulnerability has not been listed in the CISA KEV catalog at time of analysis.

Technical ContextAI

Capgo is a live over-the-air (OTA) update platform for Capacitor-based mobile applications, built atop Supabase and exposing its database layer via PostgREST - a REST API that translates HTTP requests directly into PostgreSQL operations. The app_versions table stores metadata governing how update bundles are delivered, including session_key and key_id fields that enforce encrypted-bundle delivery. CWE-284 (Improper Access Control) describes the root cause: the authorization logic governing write access to the app_versions table via PostgREST does not enforce column-level restrictions on security-sensitive fields (session_key, key_id) for app-scoped API key holders. Because PostgREST row-level and column-level policies were insufficiently scoped for this credential tier, an app-scoped key - intended for narrower operational use - can issue PATCH or UPDATE operations that clear the encryption metadata, effectively toggling the bundle's encryption status without triggering the organization-wide policy gate.

RemediationAI

Upgrade Capgo to version 12.128.2 or later, which resolves this policy enforcement gap. The fix is confirmed by the vendor security advisory GHSA-4qwf-mrgx-mvfx at https://github.com/Cap-go/capgo/security/advisories/GHSA-4qwf-mrgx-mvfx. If immediate upgrade is not possible, a compensating control is to audit and revoke any app-scoped API keys granted 'all' permissions and replace them with narrower-scoped keys that do not have write access to the app_versions table. Additionally, applying PostgREST column-level security policies in the Supabase configuration to explicitly deny writes to session_key and key_id for app-scoped roles can block the bypass path without requiring an application upgrade, though this requires direct database policy modification and should be tested carefully to avoid disrupting legitimate update delivery workflows.

Share

EUVD-2026-42246 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy