HIGH 7.1

CVE-2026-56280: Cap-go Privilege Inversion in Build Log Streaming (CVSS 7.1)

Cap-go versions before 12.128.2 contain a privilege escalation flaw in their build log streaming feature. An attacker with a read-only API key—which should only permit viewing logs—can actually cancel active native builds by connecting to the log stream and then disconnecting. This happens because the server uses its own privileged credentials to clean up when clients disconnect, rather than checking whether the client itself has permission to cancel builds. The vulnerability allows repeated disruption of build pipelines and CI/CD workflows without requiring elevated API credentials.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.1 HIGH · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
Weaknesses (CWE)
CWE-862
Affected products
0 configuration(s)
Published / Modified
2026-06-22 / 2026-06-24

NVD description (verbatim)

Cap-go before 12.128.2 contains a privilege inversion vulnerability in GET /build/logs/:jobId that allows read-only API key holders to cancel running native builds. The endpoint registers an abort listener on the SSE stream that unconditionally invokes cancelBuildOnDisconnect() using the privileged server-side BUILDER_API_KEY when clients disconnect, bypassing the app.build_native permission check required by the explicit POST /build/cancel/:jobId endpoint. Attackers with read-only API keys can repeatedly disrupt native build operations and CI/CD workflows by opening the log stream and dropping the connection.

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability exists in the GET /build/logs/:jobId endpoint, which streams Server-Sent Events (SSE) to clients viewing build logs. When a client disconnects, the endpoint's abort listener automatically invokes cancelBuildOnDisconnect() using the server's BUILDER_API_KEY credential, completely bypassing the app.build_native permission check that the explicit POST /build/cancel/:jobId endpoint enforces. This represents a privilege inversion: the read-only permission level of the attacker's API key is never validated before the cancellation operation executes with privileged server credentials. CWE-862 (Missing Authorization) classifies this as a failure to verify that the client has the required privilege before performing a sensitive action.

Business impact

Developers and CI/CD systems relying on Cap-go's native build service face operational disruption. An insider with read-only API access, or an attacker who has compromised such credentials, can repeatedly sabotage build pipelines by canceling jobs in progress. This creates unpredictable delays, failed deployments, and erosion of pipeline reliability. The low barrier to exploitation (simply opening and closing a connection) and the lack of special privileges required beyond read-only API access make this particularly dangerous in organizations where read-only credentials are broadly distributed or poorly managed.

Affected systems

Cap-go versions prior to 12.128.2 are affected. The vulnerability is present in the SSE-based build log streaming endpoint and impacts any deployment or automation relying on Cap-go's native build capabilities. Organizations using Cap-go for iOS and Android build automation should identify and audit all systems running vulnerable versions.

Exploitability

This vulnerability is straightforward to exploit: an attacker needs only a read-only API key and network access to the Cap-go instance. No special setup, no race conditions, and no user interaction is required. The attack is repeatable and leaves minimal forensic traces beyond the canceled build event itself. The simplicity of the attack vector and the prevalence of read-only API key distribution in many organizations elevates practical exploitability significantly.

Remediation

Upgrade Cap-go to version 12.128.2 or later immediately. The patch corrects the privilege inversion by ensuring that the cancelBuildOnDisconnect() function is only invoked when the initiating client has been verified to hold the app.build_native permission. Additionally, audit all read-only API keys in use and rotate any that may have been exposed or distributed to untrusted parties. Consider restricting API key distribution and implementing per-action API key scoping if the platform supports it.

Patch guidance

Cap-go 12.128.2 contains the fix for this vulnerability. Verify the specific version deployed in your environment and apply the upgrade during a maintenance window. Given the high severity and simple exploitability, this should be prioritized for immediate patching. Test the build log streaming and cancellation functionality after upgrading to ensure no regressions. If running Cap-go in a CI/CD environment, coordinate the upgrade with your build pipeline scheduling to avoid disruption.

Detection guidance

Monitor for unusual patterns of build cancellations, particularly those initiated by API keys with read-only permissions or those corresponding to log streaming sessions. Check application logs for repeated GET /build/logs/:jobId requests followed immediately by disconnections and subsequent cancel events. Implement alerting on cancel operations that do not correspond to explicit POST /build/cancel/:jobId requests. Review audit logs for API key usage and flag any read-only keys performing privileged actions. Network-based detection should look for frequent connection drops to the log streaming endpoint from the same source.

Why prioritize this

This vulnerability merits immediate attention due to the combination of high CVSS score (7.1), high severity, simple exploitability requiring only a read-only API key, and significant business impact on CI/CD reliability. The straightforward nature of the attack means it could be exploited by threat actors, malicious insiders, or competitors seeking to disrupt your build operations. No active exploitation is currently tracked in known exploit databases, but the low technical barrier ensures that weaponization is trivial.

Risk score, explained

The CVSS 3.1 score of 7.1 (HIGH) reflects: attack vector network (AV:N), low attack complexity (AC:L), low privilege requirement (PR:L using read-only key), no user interaction (UI:N), and unchanged scope (S:U). The impact includes no confidentiality loss (C:N), low integrity impact (I:L—the build state is modified), and high availability impact (A:H—jobs are canceled and workflows disrupted). The score appropriately captures that an authenticated but low-privileged user can cause significant service disruption without requiring additional complexity or user interaction.

Frequently asked questions

Can I safely ignore this if I don't use Cap-go's native build feature?

If your organization does not use Cap-go or does not rely on its native build functionality for iOS/Android compilation, this does not directly affect your systems. However, verify your Cap-go deployment scope and confirm that no internal teams or dependent systems are using the affected service.

Does this vulnerability require the attacker to have a user account, or can unauthenticated users exploit it?

The vulnerability requires authentication via an API key with at least read-only permissions. Unauthenticated users cannot exploit it. However, read-only API keys are often treated as lower-sensitivity credentials and may be distributed more broadly than high-privilege keys, increasing the pool of potential attackers if any key is compromised.

Will upgrading Cap-go to 12.128.2 break my existing build pipelines?

The patch is designed to restore correct authorization behavior without breaking legitimate functionality. Pipelines using the explicit POST /build/cancel/:jobId endpoint with properly privileged API keys will continue to work. Test the upgrade in a staging environment first to ensure compatibility with your specific workflow and API key configuration.

Should I rotate all my read-only API keys because of this vulnerability?

Consider rotating any read-only API keys that may have been exposed or distributed to untrusted parties. At minimum, audit key distribution and usage logs. Immediate rotation of all keys is a defense-in-depth measure but not strictly required if keys have been tightly controlled and no unauthorized access is suspected.

This analysis is based on the CVE record and vendor advisories available as of the publication date. CVSS scores and severity ratings are provided by the National Vulnerability Database and reflect standardized assessment criteria. Actual risk and exploitability may vary depending on your specific deployment, API key management practices, and network controls. No active exploitation is currently tracked in public vulnerability databases, but organizations should assume this vulnerability could be exploited if left unpatched. For the most current patch information and vendor guidance, consult the official Cap-go security advisories and release notes. This content is for informational purposes and does not constitute professional security or legal advice; organizations should conduct their own risk assessments and coordinate remediation with internal stakeholders. Source: NVD (public-domain), retrieved 2026-07-28. Analysis generated by SEC.co (claude-haiku-4-5).