---
id: CVE-2026-100613
title: capgo.app is an over-the-air (OTA) update platform for Capacitor apps
summary: >-
  capgo.app is an over-the-air (OTA) update platform for Capacitor apps. In all
  versions up to and including the current release (no patch available at time
  of publication), the `transfer_app()` database function transfers an app, its
  chan…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N'
cwe:
  - CWE-863
vendor: Cap-go
product: capgo.app
affected:
  - capgo.app
published: '2026-09-26'
updated: '2026-09-26'
sourceUpdated: '2026-09-26T14:16:41.903'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-100613'
references:
  - url: >-
      https://github.com/Cap-go/capgo.app/security/advisories/GHSA-6mj9-x3ww-rpj9
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/capgo-app-authorization-bypass-via-stale-channel-permission-overrides
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-26T13:33:20.932Z'
---

## Overview

capgo.app is an over-the-air (OTA) update platform for Capacitor apps. In all versions up to and including the current release (no patch available at time of publication), the `transfer_app()` database function transfers an app, its channels, versions and related records to a destination organization without deleting or revalidating existing rows in `channel_permission_overrides`. As a result, a user who legitimately held a channel permission override while a member of the source organization retains that override after the transfer, even though they have no membership and no RBAC binding in the destination organization. Using their own authenticated JWT against the PostgREST API, such a former member can modify the destination-owned channel to point at a different bundle, causing the /updates endpoint to serve an attacker-selected application version to devices. The previously proposed fix for GHSA-626c-p6fq-3whq (PR #3093), which validates organization membership when an override is created or updated, does not remove overrides that became stale as a result of an app transfer.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
