Description
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.
Published: 2026-09-26
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: Integrity Compromise
Action: Restrict API Key
AI Analysis

Impact

Capgo’s native build TUS upload proxy 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. The flaw allows an attacker to modify or replace build artifacts, effectively tainting the native build output and potentially introducing malicious code. This represents a serious integrity violation (CWE‑441).

Affected Systems

All Cap‑go:capgo.app installations are affected; the vulnerability applies to every released version, and no patch was available at the time of advisory publication.

Risk and Exploitability

The CVSS base score of 8.7 indicates a high‑severity flaw. The EPSS score is currently not available, so the exact likelihood of exploitation is unknown, but the lack of KEV listing suggests no documented public exploits yet. The attack vector requires possession of a Capgo API key with app.build_native permission. The attacker must also know or discover the suffix of the target job’s TUS resource, a condition that is often trivial to satisfy via enumeration or information leakage. Once those prerequisites are met, the attacker can overwrite or corrupt build artifacts with minimal effort, potentially enabling downstream compromise of distributed applications.

Generated by OpenCVE AI on September 26, 2026 at 15:18 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Add a check in the proxy to verify that the TUS resource suffix matches the authorized job’s upload_path or upload_session_key before forwarding the request
  • Deny or rate‑limit requests to /build/upload that use API keys with broader app.build_native permissions; restrict such keys to only the builds they are intended for
  • Apply a vendor patch or update Capgo to a version where the issue is resolved; monitor vendor advisory channels for a fix
  • Implement monitoring of build artifacts and CI pipelines to detect unauthorized modifications and alert the development team

Generated by OpenCVE AI on September 26, 2026 at 15:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 26 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Capgo Build Upload Proxy Authorization Bypass via TUS Resource
Weaknesses CWE-441
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:L'}

cvssV4_0

{'score': 8.7, 'vector': '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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-26T13:23:03.030Z

Reserved: 2026-09-26T02:31:07.602Z

Link: CVE-2026-100625

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-26T14:16:43.567

Modified: 2026-09-26T14:16:43.567

Link: CVE-2026-100625

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-26T15:30:08Z

Weaknesses
  • CWE-441

    Unintended Proxy or Intermediary ('Confused Deputy')