Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-56229

CVE-2026-56229: Capgo Authorization Bypass Vulnerability

CVE-2026-56229 is an authorization bypass flaw in Capgo before 12.128.2 affecting /build/status and /build/logs endpoints. Attackers can access build jobs from other apps, exposing logs and credentials. This article covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-56229 Overview

CVE-2026-56229 is an authorization bypass vulnerability in Capgo versions before 12.128.2. The flaw resides in the /build/status and /build/logs endpoints, which fail to validate that the supplied job_id belongs to the authorized app_id. Attackers holding a limited API key scoped to a single application can submit a mismatched app_id and job_id pair to retrieve build jobs owned by other applications. Successful exploitation exposes build logs, metadata, and potentially embedded credentials from unrelated tenants. The issue is tracked as CWE-639: Authorization Bypass Through User-Controlled Key.

Critical Impact

Authenticated attackers with a single-app API key can read build status and logs from any other application, leaking sensitive build artifacts and credentials.

Affected Products

  • Capgo versions prior to 12.128.2
  • Capgo /build/status endpoint
  • Capgo /build/logs endpoint

Discovery Timeline

  • 2026-06-21 - CVE-2026-56229 published to NVD
  • 2026-06-22 - Last updated in NVD database

Technical Details for CVE-2026-56229

Vulnerability Analysis

The vulnerability is an Insecure Direct Object Reference (IDOR) in Capgo's build management API. The /build/status and /build/logs endpoints accept both app_id and job_id parameters from the client. The authorization logic verifies that the caller's API key has access to the supplied app_id but does not verify that the supplied job_id actually belongs to that app_id. As a result, the application trusts the relationship between the two identifiers without enforcing it server-side.

This design flaw is classified under CWE-639, where authorization decisions rely on user-controlled identifiers. Because build logs frequently contain environment variables, signing keys, deployment tokens, and source paths, the disclosed data can extend an attacker's reach well beyond the original tenant.

Root Cause

The root cause is missing cross-field validation in the build job lookup logic. The endpoint authenticates the API key against app_id, retrieves the build record by job_id alone, and returns the record without confirming job.app_id == request.app_id. Any limited API key can therefore act as an oracle for build jobs across the entire platform.

Attack Vector

An attacker provisions a legitimate Capgo account with a limited API key scoped to an application they control. They then issue requests to /build/status or /build/logs supplying their own authorized app_id alongside a job_id belonging to a victim application. The server returns the victim's build status and full log output. job_id values can be enumerated or harvested from public references, GitHub issues, or sequential identifiers.

The vulnerability is described in the GitHub Security Advisory GHSA-2fw5-mcrx-wcqw and the VulnCheck Advisory. No public proof-of-concept code has been released.

Detection Methods for CVE-2026-56229

Indicators of Compromise

  • Requests to /build/status or /build/logs where the supplied app_id does not match the app_id associated with the returned job_id in backend records.
  • API keys issuing a high volume of requests with varying job_id values against a static app_id.
  • Successful build log retrievals correlated with API keys that have never built the referenced job.

Detection Strategies

  • Replay historical access logs and join build job records to identify any request where request.app_id != job.app_id for the returned job_id.
  • Alert on enumeration patterns against /build/logs and /build/status, particularly sequential or randomized job_id parameters from a single API key.
  • Monitor for API keys retrieving build logs containing secrets or credentials shortly before anomalous authentication events in connected services.

Monitoring Recommendations

  • Enable verbose access logging for all /build/* endpoints, capturing the API key identifier, app_id, and job_id for every request.
  • Forward Capgo application logs to a centralized analytics platform and correlate API key activity with downstream credential usage.
  • Track per-API-key request rates and distinct job_id counts to surface enumeration behavior.

How to Mitigate CVE-2026-56229

Immediate Actions Required

  • Upgrade Capgo to version 12.128.2 or later, which enforces ownership validation between app_id and job_id.
  • Rotate any secrets, signing keys, or deployment tokens that may have appeared in build logs prior to patching.
  • Audit historical build log access to identify any cross-application reads and notify affected tenants.
  • Revoke and reissue limited API keys with unexplained access patterns against /build/status or /build/logs.

Patch Information

The maintainers fixed the issue in Capgo 12.128.2. The patch adds server-side validation ensuring that the job_id supplied in /build/status and /build/logs requests belongs to the same app_id the API key is authorized for. Operators running self-hosted Capgo deployments should pull the updated release and redeploy. Details are available in the GitHub Security Advisory GHSA-2fw5-mcrx-wcqw.

Workarounds

  • If immediate patching is not possible, restrict /build/status and /build/logs at a reverse proxy by requiring an additional ownership check before forwarding requests.
  • Disable issuance of limited (per-app) API keys until the upgrade is applied, allowing only administrative keys that are tightly controlled.
  • Treat all historical build logs as potentially exposed and rotate embedded secrets as a precaution.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.