CVE-2026-73294
CriticalCVSS 9.9Exploitation Probability (EPSS)
Low risk45th percentile - higher than 45% of all known CVEs
Summary
Semaphore UI before versions 2.18.17 and 2.19.5-beta2 improperly handles the git_url parameter in repositories, passing an attacker-controlled --upload-pack option to CmdGitClient.GetLastRemoteCommitHash. This allows a project Manager or Owner to execute arbitrary OS commands in the Semaphore server process.
Risk Assessment
A user with project Manager or Owner privileges can execute arbitrary commands on the Semaphore server, potentially leading to full system compromise.
Recommendation
Update Semaphore UI to version 2.18.17 or 2.19.5-beta2, which include the fix.
Other vulnerabilities in Semaphore UI
See all- CVE-2026-91994Medium
Semaphore UI through 2.19.12 exempts GET and HEAD requests from project resource permission checks in GetMustCanMiddleware. Attackers with guest or task_runner roles can read all project environments including plaintext secrets, credentials, and passwords via GET requests to the environment endpoint.
- CVE-2026-73293High
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.
- CVE-2026-73292High
Semaphore UI before version 2.18.21 has a CSRF vulnerability in the /api/users/{id}/password endpoint, allowing an unauthenticated attacker to change an administrator's or another user's password after user interaction. No CSRF protection or current-password confirmation is present.
Original NVD description (English source)
Semaphore UI is a web interface for managing DevOps tools. Prior to 2.18.17 and 2.19.5-beta2, repository git_url handling passes an attacker-controlled --upload-pack option to CmdGitClient.GetLastRemoteCommitHash through POST /api/project/{id}/repositories and scheduled commit-hash polling, allowing a project Manager or Owner to execute arbitrary OS commands in the Semaphore server process. This issue is fixed in versions 2.18.17 and 2.19.5-beta2.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

