Description
Semaphore UI is a web interface for managing DevOps tools. Prior to 2.18.19 and from 2.19.0-alpha3 until 2.19.5-beta5, ProjectMiddleware and GetProjectOrGlobalRoleBySlug allow a project manager to use POST /api/project/{id}/roles to create a custom manager role with permission bitmask 15, overriding the built-in manager permissions and granting CanUpdateProject and CanManageProjectUsers owner capabilities. This issue is fixed in versions 2.18.19 and 2.19.5-beta5.
References6
- github.com/semaphoreui/semaphore/commit/1c4bb65df114962134f8829…
- github.com/semaphoreui/semaphore/commit/bb2a4e1f08c8023e618f8dd…
- github.com/semaphoreui/semaphore/releases/tag/v2.18.19
- github.com/semaphoreui/semaphore/releases/tag/v2.19.5-beta5
- github.com/semaphoreui/semaphore/security/advisories/GHSA-cxvf-…
- github.com/semaphoreui/semaphore/security/advisories/GHSA-cxvf-…
Metrics
- CVSS 3.1
-
8.8
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - EPSS — exploit probability
- 1% percentile: 48 · as of 12 November 2026
- CWE
- CWE-269
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.