Skip to main content

Capgo CVE-2026-100626

| EUVDEUVD-2026-87770 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-26 VulnCheck GHSA-g675-f5v2-69hx
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as any Capgo tenant user
  2. Delivery
    Send PUT /app/:appId with crafted icon storage path
  3. Exploit
    Backend returns 7-day service-role-signed URL
  4. Execution
    Fetch cross-tenant private-bucket image objects
  5. Impact
    Disclose other tenants' avatars/logos/icons

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated Capgo account (PR:L) - any valid tenant user, no admin privileges needed. The attacker abuses the PUT /app/:appId endpoint's acceptance of attacker-controlled icon storage paths within the private images bucket; the server then issues service-role-signed URLs (7-day validity) that ignore per-tenant authorization boundaries. Exploitation is limited by the need for a valid account and by the low sensitivity of the exposed objects (avatars, organization logos, app icons only); there is no write, modification, or availability impact and no privilege escalation.

Impact

This is a genuine but low-to-moderate priority issue, well characterized by its CVSS 4.0 vector (5.3, MEDIUM): network vector (AV:N), low complexity (AC:L), but requiring privileges (PR:L, i.e. an authenticated Capgo account) and delivering only low confidentiality impact (VC:L) with no integrity or availability impact (VI:N/VA:N) and no scope/subsequent-system change (SC:N). No EPSS score, CISA KEV entry, or public POC was provided, so there is no evidence of active or automated exploitation - the signal set points to a targeted, manual IDOR rather than a mass-exploitable flaw. The real-world impact ceiling is low because the cross-tenant objects exposed are images (user avatars, organization logos, app icons), not credentials or PII-heavy records; this justifies the C:L rating rather than C:H. Note the input tag 'Authentication Bypass' overstates the issue: CWE-639 and the description describe a post-authentication authorization/IDOR defect (attacker must already be logged in, PR:L), not a bypass of authentication itself. Overall: a real, confirmed authorization bug worth patching, but not an emergency absent broader data.

Exploit ScenarioDerived

An attacker registers or already holds a legitimate authenticated Capgo account, then calls PUT /app/:appId supplying an attacker-chosen storage path inside the private images bucket. The backend returns a service-role-signed URL valid for 7 days, which the attacker uses to download another tenant's avatars, organization logos, or app icons without authorization. No public exploit code was identified at time of analysis; low attack complexity means the request is straightforward to craft once authenticated.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 26, 2026

An insecure direct object reference in Capgo through 12.128.2 lets any authenticated tenant user read cross-tenant objects stored in the private images bucket by supplying attacker-controlled icon storage paths to the PUT /app/:appId endpoint, which then returns service-role-signed URLs valid for 7 days. Because the signed URLs bypass per-tenant authorization, exposed assets include user avatars, organization logos, and app icons. Exploitation requires a valid non-privileged Capgo account and yields only low-sensitivity read access; no modification or availability impact is possible, and no public exploit code was identified at time of analysis.

RemediationAI

Upgrade Capgo beyond 12.128.2 to the first release containing the vendor fix, as documented in the GitHub advisory GHSA-84xq-4rv7-p252 (https://github.com/Cap-go/capgo.app/security/advisories/GHSA-84xq-4rv7-p252) and the VulnCheck advisory for CVE-2026-100626; patch availability per the vendor advisory should be confirmed against the exact fixed version before rollout. If immediate upgrade is not possible, compensate in the application layer: reject any icon path that does not resolve to the caller's own tenant prefix (canonicalize the path, then enforce a server-side allowlist check against the authenticated tenant ID) so that service-role signing is only performed on tenant-owned objects. Alternatively, stop issuing service-role-signed URLs for user-supplied paths and instead serve icons through an authenticated proxy that enforces tenant ownership on every request, at the cost of additional request latency and backend load. Rotating the service role/private bucket credentials reduces the residual exposure of already-issued 7-day signed URLs, though existing links remain valid until expiry - a trade-off that argues for shortening the signing TTL as an interim measure while the path validation fix is deployed. No write, modification, or availability impact is present, so remediation can be prioritized as a MEDIUM-severity confidentiality fix rather than an emergency response.

Affected VersionsENISA

capgo.app 0 ≤12.128.2

Affected Packages

euvd capgo_app no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CWE-639 (Authorization Bypass Through User-Controlled Key) manifests here in Capgo's app-icon upload flow. Capgo is a mobile app update/over-the-air delivery platform whose backend stores tenant assets in a private Supabase-style images bucket. The PUT /app/:appId endpoint accepts a client-supplied storage path for the app icon without validating that the path belongs to the requesting tenant. When the attacker points the path at another tenant's object, the service generates a service-role-signed URL - a backend credential that implicitly bypasses row-level security - and returns it to the caller with a 7-day expiry. The root cause is missing server-side authorization on the object key (IDOR), allowing a low-privileged authenticated account to obtain read credentials for arbitrary objects in the shared bucket. The CVSS 4.0 vector (5.3, MEDIUM) reflects network reachability, low attack complexity, and low confidentiality-only impact; the CPE cpe:2.3:a:cap-go:capgo.app:*:*:*:*:*:*:*:* confirms all versions up to and including 12.128.2 are in scope.

Know when Cap Go gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Authenticated network IDOR (PR:L, AV:N/AC:L) exposing only low-sensitivity cross-tenant images, so C:L with no integrity or availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

capgo through 12.128.2 contains an insecure direct object reference vulnerability in the PUT /app/:appId endpoint that accepts attacker-controlled icon storage paths. Authenticated users can supply arbitrary paths in the private images bucket and obtain service-role-signed URLs valid for 7 days to read cross-tenant objects including user avatars, organization logos, and app icons without authorization.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche developer tool for Capacitor OTA app updates, limited production footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Cap Go

View all
CVE-2026-56081 CRITICAL
9.3 Jun 19

Account pre-registration hijack in Capgo before 12.128.2 lets a remote unauthenticated attacker claim an account under a

CVE-2026-88864 CRITICAL
9.3 Sep 10

Improper access control in Capgo (capgo.app) lets any holder of an ordinary full API key forge a trusted SSO provider by

CVE-2026-56073 CRITICAL
9.3 Jun 19

Authentication bypass in Capgo prior to version 12.128.2 lets attackers defeat email-based OTP verification by tampering

CVE-2026-88860 CRITICAL
9.3 Sep 10

Authorization bypass in Capgo (capgo.app), a live-update/OTA platform for Capacitor mobile apps, allows a de-provisioned

CVE-2026-56245 HIGH
8.8 Jun 24

Cross-tenant data poisoning in Supabase Capgo before 12.128.2 allows remote unauthenticated attackers to corrupt billing

CVE-2026-56248 HIGH
8.7 Jun 23

Unauthenticated denial of service in Cap-go capgo (capgo-backend) before 12.128.12 allows remote attackers to exhaust Po

CVE-2026-100622 HIGH
8.7 Sep 26

Unauthenticated retrieval of deleted over-the-air update bundles from capgo.app through version 12.129.0 is possible via

CVE-2026-100623 HIGH
8.7 Sep 26

Capgo's direct exposure of the public.org_users table through Supabase PostgREST lets an authenticated user who already

CVE-2026-100619 HIGH
8.7 Sep 26

Authenticated principals who hold an app-scoped upload/write/all API key with upload+ rights - or any user granted write

CVE-2026-100614 HIGH
8.7 Sep 26

Cross-tenant metadata modification in Capgo before 12.244.1 allows an authenticated attacker to alter image object metad

CVE-2026-88862 HIGH
8.7 Sep 10

Privilege escalation in the Capgo (capgo.app) backend through version 12.242.4 allows an authenticated API key holder to

CVE-2026-100615 HIGH
8.7 Sep 26

Privilege escalation in Capgo (capgo.app) before 12.267.1 allows a principal holding the apikey_manager role to rotate a

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