Description
Capgo (capgo.app backend) before 12.127.5 contains an authorization flaw in the PATCH /private/role_bindings/:binding_id endpoint. The handler verifies that the newly assigned role's priority rank does not exceed the caller's own rank, but — unlike the DELETE handler — it never checks the rank of the role currently bound to the target binding. An authenticated user holding the org_admin role (rank 90) can therefore change an org_super_admin binding (rank 95) to a lower-privileged role such as org_member (rank 75). Because the prevent_last_super_admin_binding_delete database trigger fires only BEFORE DELETE and not on UPDATE, an org_admin can demote every org_super_admin, leaving the organization with no super administrator. The issue is fixed in 12.127.5.
Published: 2026-09-26
Score: 7 High
EPSS: < 1% Very Low
KEV: No
Impact: Privilege Escalation
Action: Apply Patch
AI Analysis

Impact

The vulnerability is an authorization flaw in the Capgo backend that allows authenticated users with the org_admin role to modify role bindings of other users. The PATCH /private/role_bindings/:binding_id endpoint validates the new role’s priority but does not check the current role’s rank. An org_admin can therefore demote an org_super_admin to a lower privilege. The change also bypasses the prevent_last_super_admin_binding_delete trigger, which only runs before DELETE, meaning an org_admin could remove the last remaining super administrator and leave an organization with no super admin. As a result, the system’s administrative control can be overwritten by a lesser‑privileged user, undermining the organization’s governance and potentially allowing further malicious activity. This is a classic privilege escalation flaw (CWE‑267, CWE‑863).

Affected Systems

Capgo backend (capgo.app) versions 12.127.4 and earlier, running in any environment where the patch endpoint is exposed. The issue was fixed in the 12.127.5 release.

Risk and Exploitability

The CVSS score of 7 indicates a high likelihood to cause significant impact. While the EPSS metric is not available, the attack requires legitimate org_admin credentials, which can be obtained by an internal user or through credential compromise. The exploitation path uses the normal authenticated API, so it is surface‑level internal to the organization’s web service. The high CVSS rating and the ability to demote the last super administrator elevate the risk for organizations that have not applied the 12.127.5 fix. Whether the vulnerability is listed in KEV does not change the need for timely remediation, but its inclusion in a standard CVE table underscores that you should act promptly.

Generated by OpenCVE AI on September 27, 2026 at 01:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update to Capgo backend version 12.127.5 or later to correct the role binding authorization check.
  • After upgrading, audit existing role bindings to ensure that no org_super_admin has been demoted and restore any necessary bindings.
  • Restrict the PATCH /private/role_bindings endpoint so that only org_super_admin users can modify bindings that involve super‑administrator roles.

Generated by OpenCVE AI on September 27, 2026 at 01:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 05 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sun, 27 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-267
References
Metrics threat_severity

None

threat_severity

Moderate


Sat, 26 Sep 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Cap-go
Cap-go cap-go
Vendors & Products Cap-go
Cap-go cap-go

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

Type Values Removed Values Added
Description Capgo (npm package @capgo/backend) before 12.127.5 contains an authorization flaw in the PATCH /private/role_bindings/:binding_id endpoint. The handler verifies that the newly assigned role's priority rank does not exceed the caller's own rank, but — unlike the DELETE handler — it never checks the rank of the role currently bound to the target binding. An authenticated user holding the org_admin role (rank 90) can therefore change an org_super_admin binding (rank 95) to a lower-privileged role such as org_member (rank 75). Because the prevent_last_super_admin_binding_delete database trigger fires only BEFORE DELETE and not on UPDATE, an org_admin can demote every org_super_admin, leaving the organization with no super administrator. The issue is fixed in 12.127.5. Capgo (capgo.app backend) before 12.127.5 contains an authorization flaw in the PATCH /private/role_bindings/:binding_id endpoint. The handler verifies that the newly assigned role's priority rank does not exceed the caller's own rank, but — unlike the DELETE handler — it never checks the rank of the role currently bound to the target binding. An authenticated user holding the org_admin role (rank 90) can therefore change an org_super_admin binding (rank 95) to a lower-privileged role such as org_member (rank 75). Because the prevent_last_super_admin_binding_delete database trigger fires only BEFORE DELETE and not on UPDATE, an org_admin can demote every org_super_admin, leaving the organization with no super administrator. The issue is fixed in 12.127.5.

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

Type Values Removed Values Added
Description Capgo (npm package @capgo/backend) before 12.127.5 contains an authorization flaw in the PATCH /private/role_bindings/:binding_id endpoint. The handler verifies that the newly assigned role's priority rank does not exceed the caller's own rank, but — unlike the DELETE handler — it never checks the rank of the role currently bound to the target binding. An authenticated user holding the org_admin role (rank 90) can therefore change an org_super_admin binding (rank 95) to a lower-privileged role such as org_member (rank 75). Because the prevent_last_super_admin_binding_delete database trigger fires only BEFORE DELETE and not on UPDATE, an org_admin can demote every org_super_admin, leaving the organization with no super administrator. The issue is fixed in 12.127.5.
Title Capgo backend before 12.127.5 Privilege Escalation via role_bindings PATCH
Weaknesses CWE-863
References
Metrics cvssV3_1

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

cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-05T16:08:07.601Z

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

Link: CVE-2026-100629

cve-icon Vulnrichment

Updated: 2026-10-05T16:07:35.322Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-05T16:17:03.420

Link: CVE-2026-100629

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-26T13:23:05Z

Links: CVE-2026-100629 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T02:00:18Z

Weaknesses
  • CWE-267

    Privilege Defined With Unsafe Actions

  • CWE-863

    Incorrect Authorization