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.
Security readout for executives and security teams
Plain-English summary
A logged-in Semaphore project Manager or Owner can abuse a repository URL setting to run operating-system commands on the Semaphore server. Successful exploitation could expose secrets, alter automation, disrupt service, or enable broader compromise under the server process’s permissions.
Executive priority
Treat remediation as urgent, especially where Semaphore manages sensitive infrastructure, credentials, or production automation. Prioritize exposed deployments and environments with multiple Managers or Owners. Upgrade promptly, restrict privileged project access until completion, and investigate suspicious repository changes or server activity.
Technical view
Affected Semaphore versions pass an attacker-controlled --upload-pack option from repository git_url handling into CmdGitClient.GetLastRemoteCommitHash. The path is reachable through POST /api/project/{id}/repositories and scheduled commit-hash polling, causing OS command injection in the Semaphore server process. The issue maps to CWE-78 and CWE-88.
Likely exposure
Exposure exists on Semaphore versions below 2.18.17 and versions from 2.19.0-alpha3 through 2.19.5-beta1. Exploitation requires authenticated project Manager or Owner privileges. Internet accessibility, broadly assigned project roles, and untrusted repository configuration increase risk.
Exploitation context
The CVSS 3.1 score is 9.9 because exploitation is network-accessible, low-complexity, requires limited privileges, and can affect confidentiality, integrity, and availability. The bundle reports no KEV listing and provides no evidence of active exploitation; real-world exploitation status is therefore unconfirmed.
Researcher notes
The vulnerable data flow connects attacker-controlled repository configuration to a Git command option processed by CmdGitClient.GetLastRemoteCommitHash. Scheduled polling may trigger the unsafe path after configuration. The supplied advisory and commits support the root cause and fixed versions, but the bundle does not establish public proof-of-concept availability or exploitation in the wild.
Mitigation direction
Upgrade stable deployments to Semaphore 2.18.17 or later.
Upgrade prerelease deployments to 2.19.5-beta2 or later.
Until upgraded, restrict project Manager and Owner roles to trusted administrators.
Review vendor guidance before applying additional compensating controls.
Validation and detection
Inventory Semaphore versions and identify every deployment within the affected ranges.
Confirm upgraded instances report 2.18.17, 2.19.5-beta2, or a later version.
Review repository git_url values for suspicious --upload-pack options or unexpected content.
Examine Semaphore server and process logs for unexplained command execution or anomalous child processes.
Verify project Manager and Owner assignments follow least privilege.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-78: Command execution behavior lookup
Command injection weaknesses can lead defenders to review execution techniques and command interpreter telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Command injection weaknesses can lead defenders to review execution techniques and command interpreter telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
6Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.