HIGH 7.5

CVE-2026-56250: Capgo API Key Scope Bypass Enables Bundle Deletion

Capgo before version 12.128.2 contains a flaw that allows attackers with upload-scoped API keys to weaponize the application's internal cleanup mechanisms. By modifying a field that controls where application bundles are stored, an attacker can point it to legitimate user data, then trigger automated deletion routines to destroy those objects. This is a targeted denial-of-service attack where the real damage happens through abuse of a legitimate maintenance function, not direct malicious code.

Source data · NVD / CISA · public domain

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

NVD description (verbatim)

Capgo before 12.128.2 allows upload-scoped API keys to modify the mutable app_versions.r2_path field through PostgREST, enabling retargeting to arbitrary R2 bundle objects. Attackers can patch r2_path to point to victim objects, soft-delete the attacker-controlled version, and trigger the on_version_update cleanup function to delete the victim R2 object, causing denial of service and bundle availability disruption.

3 reference(s) · View on NVD →

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

Technical summary

The vulnerability stems from insufficient authorization checks on the mutable app_versions.r2_path field in PostgREST. Upload-scoped API keys—intended only for uploading new application versions—can be used to modify the r2_path pointer after creation. An attacker exploits this by: (1) uploading a malicious version under their control, (2) modifying the r2_path to reference a victim's legitimate R2 bundle object, (3) soft-deleting their own version, and (4) triggering the on_version_update cleanup function, which then deletes the victim's data assuming it is orphaned. The authorization model fails to distinguish between creation and modification contexts, and cleanup logic lacks additional validation that deleted versions' bundles actually belong to those versions before removal.

Business impact

Organizations running Capgo can experience unexpected bundle unavailability if attackers gain upload API credentials. This impacts end-user application deployments, potentially preventing users from receiving critical updates or forcing rollbacks to outdated versions. For platforms managing many applications, this creates a denial-of-service vector with reputational and operational consequences. The attack requires valid API credentials, limiting scope to supply-chain compromise or internal threats, but the impact per incident is severe.

Affected systems

Capgo versions prior to 12.128.2 are affected. The vulnerability requires valid upload-scoped API key material, which is typically distributed to trusted CI/CD pipelines or build systems. Systems running the affected version without network isolation of API key distribution are at highest risk.

Exploitability

The attack is network-accessible and requires no user interaction, but is not unauthenticated—the attacker must possess a valid upload-scoped API key. This lowers the attack surface compared to fully remote exploits but raises it significantly above zero for organizations that manage multiple API keys across teams or pipelines. The technical barrier is low; the attacker simply needs to craft two API calls and understand the app version lifecycle. Public exploit code has not been referenced in available advisories.

Remediation

Upgrade Capgo to version 12.128.2 or later. This patch restricts API key scopes to prevent unauthorized field modification and likely adds authorization checks to the cleanup function. Organizations should simultaneously audit API key distribution, rotate any keys that may have been exposed, and review audit logs for evidence of r2_path modifications on versions not created by expected principals.

Patch guidance

Apply Capgo version 12.128.2 or later. Verify against the vendor advisory for any additional configuration changes or migration steps. If you maintain a custom Capgo deployment or fork, confirm that your update mechanism and change control processes propagate the patch to all instances. Test in a staging environment first to ensure no disruption to active deployments.

Detection guidance

Monitor PostgREST logs and Capgo application logs for: (1) API calls modifying app_versions.r2_path that originate from principals other than the version creator, (2) rapid sequences of version uploads followed immediately by soft-deletions, (3) cleanup function invocations that delete R2 objects referenced by versions not belonging to the requesting account, and (4) unexpected R2 object deletions. Implement alerting on any r2_path modification event. Review API key usage patterns to identify compromised or over-permissioned keys.

Why prioritize this

This vulnerability scores 7.5 (HIGH) due to network accessibility, absence of user interaction, and high availability impact, despite requiring authentication. Organizations with Capgo deployments that manage production application bundles should prioritize patching within their standard urgent-patch cycle. The CVSS vector reflects full availability impact (A:H) with no confidentiality or integrity loss to the Capgo system itself, only to victim bundle objects. However, the ability to delete customer data elevates business urgency.

Risk score, explained

CVSS 3.1 score 7.5 (HIGH) reflects: AV:N (network-accessible), AC:L (no complex attack conditions), PR:N (no privilege required in the Capgo system, though API authentication is required as a practical gate), UI:N (no user interaction), S:U (impact stays within the application scope), C:N (no confidentiality breach), I:N (no integrity loss to Capgo's own data), and A:H (high availability impact through data deletion). The score appropriately reflects a denial-of-service mechanism that requires valid credentials to trigger.

Frequently asked questions

Do we need to rotate all API keys immediately?

If your API keys are managed centrally and not exposed beyond CI/CD systems you control, rotation should be part of your standard patching process. However, if keys are shared across teams, stored in version control, or have been in circulation for extended periods, proactive rotation before and after patching is prudent. Audit logs should guide which keys to prioritize.

What if we cannot upgrade immediately?

Until you upgrade, restrict the distribution and scope of upload-scoped API keys to the absolute minimum number of principals (CI/CD runners, specific team members). Implement network segmentation or firewall rules to limit which systems can reach your Capgo instance. Monitor cleanup operations and r2_path modifications closely. Consider disabling automatic cleanup temporarily if your operational model allows.

How do I know if we were exploited?

Search your Capgo and PostgREST logs for app_versions.r2_path modifications. Cross-reference the timestamp and API key used against your expected deployment activities. Check R2 access logs for unexpected deletions. If you find suspicious r2_path modifications by unknown or over-permissioned keys, assume your bundle namespace may have been accessed maliciously and audit for missing versions in production.

Is this affecting the SaaS version of Capgo?

The advisory references Capgo as a software product without specifying SaaS vs. self-hosted. Verify with the Capgo team which deployment models are affected and whether SaaS instances have already been patched on your behalf.

This analysis is based on the published CVE record and vendor advisory as of 2026-07-08. No CVSS score revision, KEV listing, or ransomware association has been published. Organizations should verify all patch versions, affected product lines, and remediation steps directly with Capgo's official security advisory before taking production action. SEC.co does not provide legal liability advice; consult your organization's security and legal teams regarding compliance obligations. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).