{"id":29707,"date":"2026-09-27T00:31:31","date_gmt":"2026-09-26T16:31:31","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-100627"},"modified":"2026-09-27T00:31:31","modified_gmt":"2026-09-26T16:31:31","slug":"cve-2026-100627","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-100627","title":{"rendered":"CVE-2026-100627 [HIGH] &#8211; Capgo (Cap-go\/capgo.app) server backend Supabase functions contain an incorrect authorizat"},"content":{"rendered":"<p>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 &#8220;all&#8221; and &#8220;write&#8221; API keys, dispatches to setChannel, which authorizes with checkPermission(c, &#8216;channel.promote_bundle&#8217;, { appId: body.app_id }) and omits the request&#8217;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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 &#8220;all&#8221; and &#8220;write&#8221; API ke<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29707","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}