{"id":"CVE-2026-100627","published":"2026-09-26T14:16:43.837","lastModified":"2026-09-28T20:57:50.143","description":"Capgo (Cap-go/capgo.app) server backend Supabase functions contain an incorrect authorization flaw in the API-key bundle promotion path. The PUT /bundle endpoint, available to \"all\" and \"write\" API keys, dispatches to setChannel, which authorizes with checkPermission(c, 'channel.promote_bundle', { appId: body.app_id }) and omits the request's channel_id. Because the omitted scope field is passed to rbac_check_permission_direct as SQL NULL, and channel-scope override evaluation is gated on p_channel_id IS NOT NULL, per-channel allow/deny overrides are never evaluated. A principal holding app-level channel.promote_bundle (granted by default to the app_developer and app_uploader roles) can therefore promote a bundle to a channel for which an explicit per-channel deny override exists, updating public.channels.version for the supplied channel_id; the target channel is only validated after authorization. The issue is confirmed on main at commit de66fa51e7ff2f50283cc1455c3d80ab3eb0ae43 and likely earlier versions; no patched version is known at the time of publication.","cvssScore":8.1,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","cwes":["CWE-639"],"vendors":[],"products":[],"references":[{"url":"https://github.com/Cap-go/capgo.app/security/advisories/GHSA-633x-9x77-77gf","tags":[]},{"url":"https://www.vulncheck.com/advisories/capgo-bundle-promotion-api-channel-rbac-deny-override-bypass","tags":[]},{"url":"https://github.com/Cap-go/capgo.app/security/advisories/GHSA-633x-9x77-77gf","tags":[]}],"exploitRefs":[{"url":"https://github.com/Cap-go/capgo.app/security/advisories/GHSA-633x-9x77-77gf","tags":[]},{"url":"https://github.com/Cap-go/capgo.app/security/advisories/GHSA-633x-9x77-77gf","tags":[]}],"hasPoc":true,"ai":null}