Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain previously-issued cached bundle URL
-
ExploitReplay URL to public file read endpoint
-
ExecutionEndpoint skips deletion check on cache hit
-
ImpactDownload deleted bundle and restore object into R2
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to possess a valid, previously-issued cached bundle URL for the capgo.app public file read endpoint; the flaw is that this endpoint does not verify an artifact's deletion status before serving it. No authentication is required (PR:N) and no user interaction is needed, but the attacker cannot generate access from nothing - a leaked/recorded cache URL for a since-deleted bundle is the concrete precondition. A cache hit is required to trigger the R2 restoration side-effect. Affected: capgo.app through 12.129.0. The dependence on a valid cached URL and on the target bundle being one that was cached-then-deleted is the primary limiter on realistic risk. |
| Impact | The vendor (VulnCheck) CVSS 4.0 vector rates this 8.7 with AV:N/AC:L/AT:N/PR:N/UI:N/VC:H - network-reachable, unauthenticated, low complexity, high confidentiality impact. However, the real-world risk is materially lower than 8.7 implies. Two limiters temper it: (1) exploitation requires possessing a valid previously-issued cached bundle URL - this is an attack requirement (AT:P), not a truly unconditional attack, so VC:H is generous; (2) the disclosed content is DELETED OTA bundles, i.e. artifacts an operator already chose to remove, which are also the same JS/asset bundles that were at some point publicly served to devices. The description ALSO establishes an integrity effect the vendor's VI:N ignores: a cache hit RESTORES the deleted object back into R2 storage, reviving data that was meant to be gone. So this is a mixed disclosure+integrity issue mislabeled as pure info disclosure. No EPSS score, no CISA KEV listing, and no public exploit are present in the input - there is no evidence of active exploitation or automation. Net: a real but moderate-priority defect, not a drop-everything CVSS-8.7 emergency. Key data gap: the guessability/enumerability of cached URLs is undocumented - if URLs are unpredictable and expire, real risk is low; if they are stable and leak (logs, CDN caches, referrers), risk rises. Verify with vendor. |
| Exploit ScenarioDerived | An attacker who recorded or intercepted a cached bundle URL (from CDN logs, browser history, or a shared link) that was later deleted by the app owner replays that URL against the public file read endpoint. Because the endpoint never checks deletion status, the request is served from cache and simultaneously re-writes the deleted artifact back into R2, letting the attacker retrieve removed bundle contents and undo the deletion. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 26, 2026
Unauthenticated retrieval of deleted over-the-air update bundles from capgo.app through version 12.129.0 is possible via the public file read endpoint, which fails to check an artifact's deletion status before serving it; a cache hit additionally triggers restoration of the deleted object back into R2 storage. Any party holding a previously issued cached bundle URL can read content the operator believed was deleted, and the secondary restoration side effect re-persists that content. Exploitation requires a valid, previously recorded cached URL for a since-deleted and cached bundle - attackers cannot mint access from nothing - and there is no public exploit code or confirmed active exploitation (no CISA KEV listing) at time of analysis. Risk is driven by the precondition of a leaked or harvested cache URL, the vendor (VulnCheck) rating this CVSS 4.0 8.7 with high confidentiality impact, while our own assessment scores it lower (CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N) because the dependent-on-a-valid-cached-URL and cached-then-deleted preconditions materially limit realistic exposure.
RemediationAI
The fix is a vendor-side upgrade: move off capgo.app 12.129.0 and earlier to a release in which the public file read endpoint verifies deletion status before serving a cached artifact, and in which a cache hit no longer writes deleted objects back into R2 - the exact patched version is not specified in the provided data, so consult GitHub Security Advisory GHSA-26x3-6mr7-989p (https://github.com/Cap-go/capgo.app/security/advisories/GHSA-26x3-6mr7-989p) for the confirmed fixed release; patch status per available data is that no vendor-released fixed version is independently confirmed here. If immediate upgrade is not possible, the most effective compensating control is to purge and invalidate the CDN/edge cache entries for every bundle that has been deleted and delete the artifacts directly from the R2 bucket, with the trade-off that this is manual, must be repeated for each deletion, and does nothing for cache URLs still held outside your control; stronger, rotate the signing key or change the URL scheme for bundle artifacts so previously issued cache URLs no longer resolve, accepting the side effect that legitimate client apps will need to refresh their update URLs. Treat any already-leaked bundle URL as compromised, audit R2 for objects that reappeared after deletion, and where the deployment supports it, disable public caching of bundle artifacts or require signed, expiring URLs for the read endpoint - both of which raise CDN/origin load and add latency to update delivery. Do not rely on the deletion API alone as a control until the verified version is deployed, since deletion is precisely what this endpoint fails to honor.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Capgo is a live-update (over-the-air) delivery platform for Capacitor/Cordova-style mobile apps: it publishes versioned JavaScript/asset bundles that client apps fetch, and it front-ends those artifacts through a public file read endpoint backed by caching and Cloudflare R2 object storage. The defect is classified CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): the read path performs no deletion-status verification, so a request that hits a cached artifact for a bundle that has since been deleted is served normally rather than rejected, and the cache-hit path goes further by re-materializing the deleted object into R2. The exposure combines a confidentiality problem (deleted bundle contents remain readable) with a data-lifecycle/integrity problem (deletion is not durable, because the storage layer is repopulated after the fact). The CVSS 4.0 vector supplied by the reporter (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H) treats the confidentiality impact as high and unauthenticated over the network; our internal assessment, using CVSS 3.1, keeps the same network/low-complexity/no-authentication prerequisites but scores confidentiality and integrity impact as low (C:L/I:L) because the attacker must already possess a valid previously issued cache URL and the target bundle must have been cached and then deleted. CPE cpe:2.3:a:cap-go:capgo.app:*:*:*:*:*:*:*:* is unbounded on the upper side in the supplied data, so the version ceiling in scope is the one stated in the advisory: 12.129.0 and earlier.
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
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
Unauthenticated network endpoint (PR:N/AV:N); C:L not C:H because disclosure is limited to deleted, formerly-public bundles and needs a valid cached URL; I:L for unwanted R2 restoration of deleted objects.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
capgo.app through 12.129.0 fails to verify deletion status when serving cached bundle artifacts from the public file read endpoint. Unauthenticated attackers can download deleted bundles using cached URLs and trigger restoration of deleted objects into R2 storage on cache hits.
Technical POC Analysis
CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), with CWE-524 (Use of Cache Containing Sensitive Information) as the secondary class the advisory also assigns.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Capgo OTA update service through version 12.129.0 may expose deleted over-the-air update bundles to anyone who retains a previously issued cached URL, potentially revealing proprietary code, configuration, or other sensitive release content the organization believed was removed. Because the flaw is unauthenticated and a cache hit can restore deleted content into R2 storage, affected organizations face both data exposure and persistence of content they intended to delete; however, exploitation depends on possession of a valid old cached URL, and there is no public exploit identified at time of analysis and no CISA KEV listing. Leadership should care because no vendor-released patch is identified at time of analysis, so risk must be managed through access controls, cache invalidation, and monitoring until a fixed release is deployed.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict or disable the public file read endpoint for Capgo through version 12.129.0; invalidate or expire all cached bundle URLs and purge affected R2 objects; rotate secrets or signing keys associated with OTA bundles; enforce deletion-status checks at a reverse proxy or WAF; and monitor/alert on access to deleted bundle paths.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Improper access control in Capgo (capgo.app) lets any holder of an ordinary full API key forge a trusted SSO provider by
Authorization bypass in Capgo (capgo.app), a live-update/OTA platform for Capacitor mobile apps, allows a de-provisioned
Account pre-registration hijack in Capgo before 12.128.2 lets a remote unauthenticated attacker claim an account under a
Authentication bypass in Capgo prior to version 12.128.2 lets attackers defeat email-based OTP verification by tampering
Cross-tenant data poisoning in Supabase Capgo before 12.128.2 allows remote unauthenticated attackers to corrupt billing
Capgo's direct exposure of the public.org_users table through Supabase PostgREST lets an authenticated user who already
Authenticated principals who hold an app-scoped upload/write/all API key with upload+ rights - or any user granted write
Cross-tenant metadata modification in Capgo before 12.244.1 allows an authenticated attacker to alter image object metad
Privilege escalation in the Capgo (capgo.app) backend through version 12.242.4 allows an authenticated API key holder to
Privilege escalation in Capgo (capgo.app) before 12.267.1 allows a principal holding the apikey_manager role to rotate a
Authenticated administrators on Capgo (capgo.app) can grant channel-scoped permissions to non-member users because the p
Capgo's MFA enforcement is defeated by an authentication assurance level (AAL) mismatch across two distinct code paths:
EUVD-2026-87717
GHSA-h3qx-vqw8-rv67
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB