Skip to main content

Capgo EUVDEUVD-2026-87720

| CVE-2026-100625 HIGH
Unintended Proxy or Intermediary ('Confused Deputy') (CWE-441)
2026-09-26 VulnCheck GHSA-vp2f-59w8-7r7r
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid write/all API key with app.build_native
  2. Delivery
    Start own build job A for authorized proxy path
  3. Exploit
    Learn target job B's exposed TUS resource suffix
  4. Execution
    Send TUS upload to B's resource via A's proxy path
  5. Persist
    Proxy injects privileged builder key and forwards write
  6. Impact
    Corrupt victim build artifacts

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service Proxy/intermediary controls
Exploitation Conditions

Requires a valid Capgo API key of scope 'all' or 'write' carrying app.build_native permission for at least one application the attacker controls, plus an active/authorized build job (job A) to obtain a legitimate proxy path. The decisive precondition is that the attacker must know or have exposed to them the TUS resource suffix of a different build job (job B) - the flaw is that the forwarded /build/upload/:jobId/* suffix is never bound to the authorized job's upload_path or upload_session_key. Limiting factors: authenticated access is mandatory (not anonymous), the target job's resource suffix must be discoverable, and the impact is confined to corrupting build artifacts (write/integrity) with no read/exfiltration or availability takedown. Affects all versions; no patch available at advisory publication.

Impact

This is a genuine but access-gated integrity flaw, not a raw-critical priority. The vendor's CVSS 4.0 8.7 is inflated on two axes. First, PR:N is inconsistent with the description, which explicitly requires 'a valid all or write Capgo API key with app.build_native permission' - this is authenticated exploitation (PR:L), not open to anonymous attackers. Second, VC:H (confidentiality high) mislabels the impact: the described action is a cross-job WRITE that corrupts another build's artifacts, with no read/exfiltration path, so the true impact is integrity (VI/SI), not confidentiality. A further limiter the vendor's AC:L ignores: the attack only works 'provided that resource suffix is known or exposed' - the attacker must learn another job's TUS resource suffix, a non-trivial precondition (AC:H). No EPSS score, no CISA KEV listing, and no public POC accompany this advisory, so there is no signal of active or imminent exploitation - status is 'no public exploit identified at time of analysis.' Net: a real supply-chain-integrity confused-deputy bug (CWE-441 correctly assigned) worth patching for anyone running Capgo's native-build pipeline, but the authenticated-plus-known-suffix gating and integrity-only impact place it below the vendor's 8.7. Key conflict to verify with vendor: CVSS vector claims PR:N/VC:H while the description establishes an authenticated write-only corruption.

Exploit ScenarioDerived

An attacker who legitimately holds a Capgo 'all' or 'write' API key with app.build_native permission for one of their own applications initiates a native build (job A) and obtains its authorized upload proxy path. Knowing or discovering the TUS resource suffix of another tenant's build job B, they issue TUS upload requests through their job-A proxy path but target job B's resource; the proxy injects Capgo's privileged builder key and forwards the write, corrupting job B's build artifacts. No public exploit code is known at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 26, 2026

Capgo's native build TUS upload proxy forwards a user-controlled TUS resource suffix to the builder service while injecting Capgo's own privileged builder API key, without ever binding that suffix to the upload_path or upload_session_key of the build job the caller was actually authorized for, allowing cross-job writes to another build's upload resource. All versions of capgo.app are affected, and no vendor patch was available at the time of the advisory publication. Exploitation is access-gated rather than anonymous: it requires a valid Capgo API key of scope 'all' or 'write' carrying app.build_native permission for at least one application (plus a legitimate proxy path from an active job A), and knowledge of another job's (job B's) TUS resource suffix, so the realistic impact is integrity-only - corruption of build artifacts - with no read/exfiltration or availability loss, and no public exploit code has been identified at time of analysis.

RemediationAI

No vendor-released patch was identified at the time of analysis, so the primary fix must come from the vendor or from a self-hosted deployment's own code change: in supabase/functions/_backend/public/build/upload.ts, bind the forwarded TUS resource suffix to the authorized job by validating any /build/upload/:jobId/* suffix against that job's stored upload_path and upload_session_key before injecting the builder API key, and reject suffixes that do not match. Until that fix is applied, the most effective compensating control is API-key scoping: eliminate 'all'-scoped keys where possible, grant only 'write', and remove the app.build_native permission from any key that does not genuinely need native builds, since the attack requires exactly that permission - the trade-off is that legitimate CI/CD build automation must be re-keyed and may need per-application keys. Second, treat TUS upload session keys and resource suffixes as secrets: do not log, display, or return them through APIs or dashboards where another tenant's build job could learn them, because the flaw is only reachable when job B's suffix is known or exposed. Third, restrict who can trigger or observe concurrent build jobs on the same Capgo instance or self-hosted backend. Finally, add integrity verification of published build artifacts and audit TUS proxy logs for suffix values that do not correspond to the requesting job's upload_path as a detection measure; note that these controls reduce exploitability and provide detection but do not eliminate the underlying missing authorization binding, which requires the code fix. Consult GHSA-r45q-x4gr-3mvv for vendor guidance and patched versions as they become available.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

Capgo is a mobile app live-update and native build service; the vulnerable component is the Supabase edge function at supabase/functions/_backend/public/build/upload.ts, which acts as an upload proxy for the TUS resumable-upload protocol used to push native build artifacts to a downstream builder service. TUS identifies uploads by an opaque resource URL/suffix, and Capgo's proxy takes the resource suffix from the request path /build/upload/:jobId/* and forwards it verbatim to the builder while attaching Capgo's privileged builder API key. Authorization is performed only against the build job named by builder_job_id, and only that job's stored upload_path is validated; the forwarded suffix is never checked against that authorized job's upload_path or upload_session_key. This is the classic confused-deputy pattern (CWE-441): the proxy has authority (the builder API key) that the caller does not, and it exercises that authority on a resource selected by the caller rather than by policy. The result is that an authorized proxy path for job A can be redirected to job B's TUS resource, giving a write primitive across build jobs. Affected CPE is cpe:2.3:a:cap-go:capgo.app:*:*:*:*:*:*:*:* (all versions), covering both the hosted service and self-hosted deployments running the unmodified edge function.

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 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.3 MEDIUM

Authenticated API key needed (PR:L) and target job's TUS suffix must be known (AC:H); write-only artifact corruption gives I:H/C:N/A:N, crossing into another build's boundary (S:C).

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

Capgo (capgo.app) exposes a native build TUS upload proxy (supabase/functions/_backend/public/build/upload.ts) that authorizes a caller against a single build job identified by the supplied builder_job_id and validates only that job's stored upload_path, but then forwards the user-controlled TUS resource suffix taken from /build/upload/:jobId/* to the builder service while injecting Capgo's privileged builder API key. Because the forwarded suffix is never bound to the authorized job's upload_path or upload_session_key, a caller holding a valid 'all' or 'write' Capgo API key with app.build_native permission for one application can use its authorized proxy path for job A to write to the TUS upload resource of another job B, provided that resource suffix is known or exposed, corrupting that build's artifacts. All versions are affected; no patch was available at the time of advisory publication.

Technical POC Analysis

CWE-441 (Unintended Proxy or Intermediary / Confused Deputy), with a secondary CWE-862 (Missing Authorization).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Capgo's cloud-based native build service, used by organizations to compile mobile app artifacts, is affected by a high-severity integrity flaw across all versions. A user with a valid API key and specific permissions could exploit this to overwrite build artifacts belonging to other jobs, potentially compromising the trustworthiness of distributed applications. While no public exploit code has been identified, leadership should prioritize mitigation because corrupted builds could lead to supply chain risks and erode customer confidence.

Business Impact: High
Compensating Controls

No vendor patch is available; interim mitigations include: enforcing least privilege by replacing any API keys with 'all' or 'write' scope with narrowly scoped keys that only include app.build_native permission for specific apps; enabling and monitoring detailed audit logs for the TUS upload proxy to detect anomalous cross-job write attempts; temporarily disabling the native build TUS upload proxy if business-critical builds can be paused; implementing network segmentation to restrict access to the builder service; and verifying build artifact integrity via checksums or signatures before distribution. Apply vendor patch when released.

Threat Intelligence Overview

EPSS Score
0.3%
Top 85% exploitable
Prevalence
Low
niche Capacitor OTA/native-build developer backend, small deployment footprint
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Affected Products (CPE)CVE.org

cpe:2.3:a:cap-go:capgo.app:*:*:*:*:*:*:*:*

More in Cap Go

View all
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-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-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-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-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-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

CVE-2026-100617 HIGH
8.7 Sep 26

Authenticated administrators on Capgo (capgo.app) can grant channel-scoped permissions to non-member users because the p

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