Description
Capgo (capgo.app) exposes the legacy membership table public.org_users directly through Supabase PostgREST. The table's row-level security policies "Allow org admin to insert" and "Allow org admin to update" only verify that the caller has admin rights in the target organization (public.check_min_rights('admin', ...)); they do not require a pending invitation in tmp_users, acceptance of an invite token via /private/accept_invitation, any action by the target user, or the membership/role-consistency and anti-escalation checks enforced by the RBAC role-binding path. As a result, an authenticated user who is an admin of an organization can INSERT or UPDATE org_users rows directly to add any existing public.users account as an active member of that organization with user_right="admin", bypassing the invitation and role-assignment workflow entirely. In testing, an account with no prior access to the organization or its apps could, after such a direct insert, read the organization and app and pass check_min_rights. All versions are affected and no patch was available at the time of publication.
Published: 2026-09-26
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: Privilege Escalation
Action: Patch ASAP
AI Analysis

Impact

Capgo (capgo.app) exposes the legacy membership table public.org_users directly through Supabase PostgREST. The row‑level security policies that allow organization admins to insert or update rows only verify that the caller has admin rights in the target organization; they do not verify a pending invitation, acceptance of an invite token, or that the target user has performed any action. As a result, an authenticated user who is an admin of an organization can INSERT or UPDATE org_users rows to add any existing public.users account as an active member with user_right="admin", bypassing the invitation and role‑assignment workflow. In testing a user with no prior access to an organization could, after such a direct insert, read the organization and its apps and pass check_min_rights, demonstrating a direct privilege escalation path.

Affected Systems

All versions of Capgo (capgo.app) are affected. The vulnerability is present in the latest release of the application and no patch was available at the time of publication.

Risk and Exploitability

The CVSS score of 8.7 places the vulnerability in the High category and indicates that the impact is limited to administrative privileges within a specific organization. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is through authenticated organization admin access; an attacker must first be granted or obtain admin rights in an org, after which they can exploit the API to elevate privileges. The absence of an external exploitation record in KEV suggests that it has not yet been widely used in the wild, but the design flaw presents an easy path for a malicious admin to convert any existing user account into an administrator of the organization.

Generated by OpenCVE AI on September 26, 2026 at 15:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Implement stricter authorization checks before inserting or updating rows in public.org_users, ensuring that a pending invitation exists and the target user has accepted the invite token via /private/accept_invitation.
  • Modify the API or add middleware to enforce role‑binding and anti‑escalation checks that are applied in the standard RBAC flow, preventing org admin privileges from being granted without following the invitation workflow.
  • Monitor database logs for unexpected INSERT or UPDATE operations on the org_users table by monitoring the source of the requests and alerting on any operations that bypass invitation checks.

Generated by OpenCVE AI on September 26, 2026 at 15:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 26 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
Description Capgo (capgo.app) exposes the legacy membership table public.org_users directly through Supabase PostgREST. The table's row-level security policies "Allow org admin to insert" and "Allow org admin to update" only verify that the caller has admin rights in the target organization (public.check_min_rights('admin', ...)); they do not require a pending invitation in tmp_users, acceptance of an invite token via /private/accept_invitation, any action by the target user, or the membership/role-consistency and anti-escalation checks enforced by the RBAC role-binding path. As a result, an authenticated user who is an admin of an organization can INSERT or UPDATE org_users rows directly to add any existing public.users account as an active member of that organization with user_right="admin", bypassing the invitation and role-assignment workflow entirely. In testing, an account with no prior access to the organization or its apps could, after such a direct insert, read the organization and app and pass check_min_rights. All versions are affected and no patch was available at the time of publication.
Title Capgo Authentication Bypass via Direct PostgREST org_users Table Write
Weaknesses CWE-863
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-26T13:23:01.631Z

Reserved: 2026-09-26T02:31:07.602Z

Link: CVE-2026-100623

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-26T14:16:43.293

Modified: 2026-09-26T14:16:43.293

Link: CVE-2026-100623

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-26T16:00:09Z

Weaknesses