Skip to main content

Semaphore UI CVE-2026-73292

| EUVDEUVD-2026-57311 HIGH
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-08-12 GitHub_M GHSA-8cj9-r88m-8945
8.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Identify Semaphore instance URL and target user ID
  2. Delivery
    Craft malicious page with hidden cross-site password-change POST
  3. Exploit
    Deliver phishing link to authenticated Semaphore administrator
  4. Install
    Victim loads page; browser attaches session cookie to cross-site POST
  5. C2
    Semaphore accepts request and updates target account password
  6. Execute
    Attacker authenticates as administrator
  7. Impact
    Full control over DevOps automation and managed infrastructure

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the victim hold an active authenticated Semaphore session in their browser at the time of the attack - the CVSS UI:R component reflects this mandatory user-interaction prerequisite. The attacker must also know or enumerate the Semaphore instance's URL and the numeric user ID of the target account; the default administrator account ID is typically 1 and is likely enumerable via other API endpoints. Exploitation is limited to Semaphore versions prior to 2.18.21 where the session cookie lacks SameSite=Lax. Instances deployed exclusively on private networks with no path from untrusted origins are effectively protected, as a browser on a separate network cannot reach the Semaphore host to complete the forged request. Non-HTTPS deployments face the additional risk that cookies can be intercepted at the network layer, but HTTPS is not a prerequisite for CSRF exploitation itself.

Impact

The CVSS 8.3 score (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L) accurately models the attack: no attacker-side privileges, low complexity, but mandatory victim interaction. EPSS data is absent from the provided intelligence, limiting probabilistic exploitation forecasting. The absence from CISA KEV and the lack of any referenced POC code suggest exploitation has not been observed at scale, though the technique is well-understood and requires no specialized tooling. Real-world risk is materially elevated wherever Semaphore is reachable from the public internet or wherever administrators routinely browse untrusted web content while logged into the platform - even a mid-sized municipal IT team in radom should treat this as urgent if their Semaphore instance is publicly exposed. Account takeover of an administrator session carries cascading consequences beyond the base score: full control over automation playbooks, stored credentials, and all infrastructure managed through Semaphore. The A:L (low availability) metric captures only immediate victim lockout; downstream infrastructure impact from attacker-controlled playbook execution is not reflected in the base CVSS score.

Exploit ScenarioDerived

An attacker crafts a webpage containing a hidden HTML form or JavaScript fetch that POSTs a new password value to https://[semaphore-host]/api/users/1/password. The attacker delivers a link to this page via phishing to a Semaphore administrator. When the administrator clicks the link while their browser holds an active Semaphore session, the browser automatically attaches the session cookie to the cross-site POST, and Semaphore updates the administrator's password without any additional verification, allowing the attacker to log in with the newly set credentials and take full administrative control.

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

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

Alert me

AnalysisAIv1 – Aug 12, 2026

Password takeover in Semaphore UI prior to version 2.18.21 enables an unauthenticated attacker to reset any authenticated user's password - including administrator accounts - by luring them to a malicious page that silently issues a cross-site POST to /api/users/{id}/password. The session cookie was issued without SameSite restrictions, causing browsers to attach it automatically to cross-origin requests, and the endpoint performed no CSRF token validation or current-password confirmation before accepting the change. No public exploit code or CISA KEV listing exists at time of analysis, but the attack is trivially constructable by anyone familiar with basic CSRF techniques.

RemediationAI

Upgrade Semaphore UI to version 2.18.21, available at https://github.com/semaphoreui/semaphore/releases/tag/v2.18.21, which resolves the vulnerability by setting SameSite=Lax on session cookies and conditionally enforcing the Secure attribute when the instance is served over HTTPS. If an immediate upgrade is not possible, restrict network access so that Semaphore is reachable only from trusted internal subnets, preventing browsers from submitting cross-site requests from attacker-controlled external origins - this is the most effective compensating control, at the cost of remote administration capability. Additionally, enforce HTTPS for all Semaphore traffic; without it, the Secure cookie flag introduced in v2.18.21 will not activate and cookies remain exposed to network interception. Instruct all Semaphore administrators to avoid browsing untrusted web content in the same browser profile and session used to manage Semaphore. The vendor advisory is at https://github.com/semaphoreui/semaphore/security/advisories/GHSA-8cj9-r88m-8945.

Affected VersionsENISA

semaphore < 2.18.21

Affected Packages

go github.com/semaphoreui/semaphore fix: 0.0.0-20260707190631-c59c3dc9035b
euvd semaphore fix: 2.18.21

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 UI (cpe:2.3:a:semaphoreui:semaphore:*:*:*:*:*:*:*:*) is a self-hosted Go web application providing a management interface for DevOps automation tools such as Ansible and Terraform. The root cause is CWE-352 (Cross-Site Request Forgery): the /api/users/{id}/password endpoint accepted state-changing POST requests authenticated solely by the session cookie, which was previously set without a SameSite attribute. Per browser default behavior, a cookie without SameSite is treated as SameSite=None, causing it to be included in cross-origin POST requests initiated by third-party pages. Compounding the issue, the endpoint required neither a CSRF synchronizer token nor re-entry of the current password - standard second-factor defenses against forged requests. The upstream fix, visible in commits 2d6e2e3 and c59c3dc in api/login.go, adds SameSite=Lax to both the session-creation and logout cookie paths, instructing browsers to withhold the cookie on cross-site sub-resource requests (such as a forged POST) while preserving it for top-level navigations. The Secure attribute is also conditionally applied when WebHostURL uses HTTPS.

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 (GitHub_M) PRIMARY 8.3 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L
vuln.today AI 8.3 HIGH

Attacker needs no privileges; victim interaction mandatory; high confidentiality and integrity reflect full account takeover; low availability captures victim lockout only.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
Low

Lifecycle Timeline

2
Patch available
Aug 12, 2026 - 17:17 EUVD
CVE Published
Aug 12, 2026 - 15:34 cve.org
HIGH 8.3

DescriptionCVE.org

Semaphore UI is a web interface for managing DevOps tools. Prior to 2.18.21, the /api/users/{id}/password endpoint accepts a cross-site request using the authenticated user's semaphore session cookie without CSRF protection or current-password confirmation, allowing an unauthenticated attacker to change an administrator's or another user's password after user interaction. This issue is fixed in version 2.18.21.

Executive ViewAI

Why It Matters

Semaphore UI versions prior to 2.18.21 contain a cross-site request forgery vulnerability that enables unauthenticated attackers to reset passwords for any user, including administrators, by deceiving users into visiting a malicious webpage. Organizations running affected versions face immediate risk of account compromise and potential loss of administrative control over their Semaphore deployments. The vulnerability requires no technical sophistication to exploit and could grant attackers control over all accounts managed within the platform.

Business Impact: High
Compensating Controls

Configure session cookies with SameSite=Strict attribute; implement CSRF token validation on password-related endpoints; require current-password confirmation before password changes; restrict network access to Semaphore UI through segmentation; implement robust monitoring to detect unauthorized password modifications; enhance user awareness training on phishing and CSRF techniques; maintain detailed audit logging of all authentication and password events.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Medium
popular open-source DevOps UI with significant homelab and SMB adoption
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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 Yes
EPSS 0.2%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

62
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Module for Package Hub 15 SP5 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP6 Affected
openSUSE Leap 15.5 Affected
openSUSE Leap 15.6 Affected

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