---
id: CVE-2026-100629
title: >-
  Capgo (capgo.app backend) before 12.127.5 contains an authorization flaw in
  the PATCH /private/role_bindings/:binding_id endpoint
summary: >-
  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, b…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L'
cwe:
  - CWE-863
  - CWE-267
vendor: Cap-go
product: capgo.app
affected:
  - capgo.app < 12.127.5
published: '2026-09-26'
updated: '2026-10-05'
sourceUpdated: '2026-10-05T16:17:03.420'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-100629'
references:
  - url: >-
      https://github.com/Cap-go/capgo.app/security/advisories/GHSA-54mj-q77q-xwx5
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/capgo-backend-before-12.127.5-privilege-escalation-via-role-bindings-patch
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/Cap-go/capgo.app/security/advisories/GHSA-54mj-q77q-xwx5
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-100629.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-100629'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2541809'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-100629'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-100629'
tags:
  - nvd
  - cve.org
  - exploit-available
  - csaf
  - vex
  - red-hat
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-05T16:07:56.183331Z'
epss: 0.00334
epssPercentile: 0.26546
ingestedAt: '2026-09-26T13:33:20.928Z'
---

## Overview

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.

## Remediation

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

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Multicluster Engine for Kubernetes, Red Hat Advanced Cluster Management for Kubernetes 2, Red Hat Developer Hub, Self-service automation portal 2 · no fix planned: Multicluster Engine for Kubernetes, Red Hat Advanced Cluster Management for Kubernetes 2, Red Hat Developer Hub, Self-service automation portal 2 · updated 2026-09-26 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-100629.json)
