---
id: CVE-2026-112305
title: >-
  Semaphore UI through 2.19.16 RCE via Task Environment Ansible Variable
  Override
summary: >-
  Semaphore UI through 2.19.16 contains a remote code execution vulnerability
  that allows users with the task_runner role to override protected Ansible
  variables by supplying arbitrary keys in the task environment JSON. Attackers
  can POST …
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-915
vendor: semaphoreui
product: Semaphore UI
affected:
  - semaphore_ui <= 2.19.16
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-19T17:38:35.032280Z'
published: '2026-10-19'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T17:40:14.094Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-112305'
references:
  - url: 'https://github.com/semaphoreui/semaphore/pull/3888'
  - url: >-
      https://github.com/semaphoreui/semaphore/blob/v2.19.16/services/tasks/TaskRunner.go#L395-L431
  - url: >-
      https://github.com/semaphoreui/semaphore/blob/v2.19.16/api/projects/tasks.go#L39-L75
  - url: 'https://github.com/semaphoreui/semaphore'
  - url: >-
      https://www.vulncheck.com/advisories/semaphore-ui-through-2.19.16-rce-via-task-environment-ansible-variable-override
    label: >-
      VulnCheck Advisory: Semaphore UI through 2.19.16 RCE via Task Environment
      Ansible Variable Override
tags:
  - cve.org
ingestedAt: '2026-10-19T16:32:30.081Z'
---

## Overview

Semaphore UI through 2.19.16 contains a remote code execution vulnerability that allows users with the task_runner role to override protected Ansible variables by supplying arbitrary keys in the task environment JSON. Attackers can POST tasks setting ansible_ssh_common_args with a ProxyCommand or ansible_connection=local to execute commands as the Semaphore server user, exposing encryption keys, SSH keys and stored secrets.

## Affected

- `semaphore_ui <= 2.19.16`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
