CVE-2026-91994
Received Received - Intake

Semaphore UI Environment Endpoint Information Disclosure

Vulnerability report for CVE-2026-91994, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-15

Last updated on: 2026-09-15

Assigner: VulnCheck

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-15
Last Modified
2026-09-15
Generated
2026-09-15
AI Q&A
2026-09-15
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
semaphoreui semaphore 2.19.12
semaphoreui semaphore to 2.19.12 (inc)
semaphoreui semaphore to 2.13.2 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

Semaphore UI through version 2.19.12 has a broken access control flaw where GET and HEAD requests bypass permission checks. This allows users with guest or task_runner roles to read all project environments, including plaintext secrets like credentials and passwords, via unauthorized GET requests to the environment endpoint.

Detection Guidance

To detect this vulnerability, check Semaphore UI logs for unauthorized GET requests to /project/{id}/environment endpoints. Use curl commands like: curl -X GET http://<semaphore-server>/api/v1/project/1/environment -H 'Authorization: Bearer <guest_token>' to test if guest or task_runner roles can access environment secrets.

Impact Analysis

Attackers with limited roles can access sensitive data such as cloud provider credentials, database passwords, Ansible Vault decryption keys, and OS environment variables. This could lead to data breaches, unauthorized system access, or further exploitation of connected systems.

Compliance Impact

This vulnerability likely violates compliance requirements for data protection (e.g., GDPR, HIPAA) due to unauthorized access to sensitive data like credentials and secrets. Organizations using affected versions may face regulatory penalties, audit failures, and reputational damage.

Mitigation Strategies

Immediately upgrade Semaphore UI to a patched version. If upgrading is not possible, remove the GET/HEAD bypass exception in GetMustCanMiddleware in api/projects/project.go. Restrict guest and task_runner roles from accessing sensitive endpoints and audit all environment variables for potential exposure.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-91994. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart