Capgo (capgo.app backend) before 12.127.5 contains an authorization flaw in the PATCH /private...

zetlyn/cve-ghsa vulnerability ghsa GHSA-56rm-j3fv-2h9m cve CVE-2026-100629 known 2026-09-26

https://github.com/advisories/GHSA-56rm-j3fv-2h9m

Properties

cvss5.5
receipt
Source
GitHub advisories
Its words
5.5
Read by
field:cvss.score
Said since
2026-09-28 11:44 UTC
Last answered
2026-10-04 18:15 UTC
Original
open at the source
What the source handed over
{
  "credits": [],
  "cve_id": "CVE-2026-100629",
  "cvss": {
    "score": 5.5,
    "vector_string": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L"
  },
  "cvss_severities": {
    "cvss_v3": {
      "score": 5.5,
      "vector_string": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L"
    },
    "cvss_v4": {
      "score": 7.0,
      "vector_string": "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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"
    }
  },
  "cwes": [
    {
      "cwe_id": "CWE-863",
      "name": "Incorrect Authorization"
    }
  ],
  "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.",
  "epss": {
    "percentage": 0.00276,
    "percentile": 0.17987
  },
  "ghsa_id": "GHSA-56rm-j3fv-2h9m",
  "github_reviewed_at": null,
  "html_url": "https://github.com/advisories/GHSA-56rm-j3fv-2h9m",
  "identifiers": [
    {
      "type": "GHSA",
      "value": "GHSA-56rm-j3fv-2h9m"
    },
    {
      "type": "CVE",
      "value": "CVE-2026-100629"
    }
  ],
  "nvd_published_at": "2026-09-26T14:16:44Z",
  "published_at": "2026-09-26T15:31:16Z",
  "references": [
    "https://github.com/Cap-go/capgo.app/security/advisories/GHSA-54mj-q77q-xwx5",
    "https://nvd.nist.gov/vuln/detail/CVE-2026-100629",
    "https://www.vulncheck.com/advisories/capgo-backend-before-12.127.5-privilege-escalation-via-role-bindings-patch",
    "https://github.com/advisories/GHSA-56rm-j3fv-2h9m"
  ],
  "repository_advisory_url": null,
  "severity": "high",
  "source_code_location": "",
  "summary": "Capgo (capgo.app backend) before 12.127.5 contains an authorization flaw in the PATCH /private...",
  "type": "unreviewed",
  "updated_at": "2026-09-26T15:31:21Z",
  "url": "https://api.github.com/advisories/GHSA-56rm-j3fv-2h9m",
  "vulnerabilities": [],
  "withdrawn_at": null
}
cweCWE-863
receipt
Source
GitHub advisories
Its words
CWE-863
Read by
field:cwes[].cwe_id
Said since
2026-09-28 11:44 UTC
Last answered
2026-10-04 18:15 UTC
Original
open at the source
What the source handed over
{
  "credits": [],
  "cve_id": "CVE-2026-100629",
  "cvss": {
    "score": 5.5,
    "vector_string": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L"
  },
  "cvss_severities": {
    "cvss_v3": {
      "score": 5.5,
      "vector_string": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L"
    },
    "cvss_v4": {
      "score": 7.0,
      "vector_string": "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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"
    }
  },
  "cwes": [
    {
      "cwe_id": "CWE-863",
      "name": "Incorrect Authorization"
    }
  ],
  "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.",
  "epss": {
    "percentage": 0.00276,
    "percentile": 0.17987
  },
  "ghsa_id": "GHSA-56rm-j3fv-2h9m",
  "github_reviewed_at": null,
  "html_url": "https://github.com/advisories/GHSA-56rm-j3fv-2h9m",
  "identifiers": [
    {
      "type": "GHSA",
      "value": "GHSA-56rm-j3fv-2h9m"
    },
    {
      "type": "CVE",
      "value": "CVE-2026-100629"
    }
  ],
  "nvd_published_at": "2026-09-26T14:16:44Z",
  "published_at": "2026-09-26T15:31:16Z",
  "references": [
    "https://github.com/Cap-go/capgo.app/security/advisories/GHSA-54mj-q77q-xwx5",
    "https://nvd.nist.gov/vuln/detail/CVE-2026-100629",
    "https://www.vulncheck.com/advisories/capgo-backend-before-12.127.5-privilege-escalation-via-role-bindings-patch",
    "https://github.com/advisories/GHSA-56rm-j3fv-2h9m"
  ],
  "repository_advisory_url": null,
  "severity": "high",
  "source_code_location": "",
  "summary": "Capgo (capgo.app backend) before 12.127.5 contains an authorization flaw in the PATCH /private...",
  "type": "unreviewed",
  "updated_at": "2026-09-26T15:31:21Z",
  "url": "https://api.github.com/advisories/GHSA-56rm-j3fv-2h9m",
  "vulnerabilities": [],
  "withdrawn_at": null
}
severityhigh
From 7.0 to 8.9.
receipt
Source
GitHub advisories
Its words
high
Read by
field:severity
Said since
2026-09-28 11:44 UTC
Last answered
2026-10-04 18:15 UTC
Original
open at the source
What the source handed over
{
  "credits": [],
  "cve_id": "CVE-2026-100629",
  "cvss": {
    "score": 5.5,
    "vector_string": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L"
  },
  "cvss_severities": {
    "cvss_v3": {
      "score": 5.5,
      "vector_string": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L"
    },
    "cvss_v4": {
      "score": 7.0,
      "vector_string": "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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"
    }
  },
  "cwes": [
    {
      "cwe_id": "CWE-863",
      "name": "Incorrect Authorization"
    }
  ],
  "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.",
  "epss": {
    "percentage": 0.00276,
    "percentile": 0.17987
  },
  "ghsa_id": "GHSA-56rm-j3fv-2h9m",
  "github_reviewed_at": null,
  "html_url": "https://github.com/advisories/GHSA-56rm-j3fv-2h9m",
  "identifiers": [
    {
      "type": "GHSA",
      "value": "GHSA-56rm-j3fv-2h9m"
    },
    {
      "type": "CVE",
      "value": "CVE-2026-100629"
    }
  ],
  "nvd_published_at": "2026-09-26T14:16:44Z",
  "published_at": "2026-09-26T15:31:16Z",
  "references": [
    "https://github.com/Cap-go/capgo.app/security/advisories/GHSA-54mj-q77q-xwx5",
    "https://nvd.nist.gov/vuln/detail/CVE-2026-100629",
    "https://www.vulncheck.com/advisories/capgo-backend-before-12.127.5-privilege-escalation-via-role-bindings-patch",
    "https://github.com/advisories/GHSA-56rm-j3fv-2h9m"
  ],
  "repository_advisory_url": null,
  "severity": "high",
  "source_code_location": "",
  "summary": "Capgo (capgo.app backend) before 12.127.5 contains an authorization flaw in the PATCH /private...",
  "type": "unreviewed",
  "updated_at": "2026-09-26T15:31:21Z",
  "url": "https://api.github.com/advisories/GHSA-56rm-j3fv-2h9m",
  "vulnerabilities": [],
  "withdrawn_at": null
}

Text

Capgo (capgo.app backend) before 12.127.5 contains an authorization flaw in the PATCH /private... 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.