CVE-2026-112305: Semaphore UI through 2.19.16 RCE via Task Environment Ansible Variable Override
Semaphore UI through 2.19.16 contains a remote code execution vulnerability that allows users with the taskrunner role to override protected Ansible variables by supplying arbitrary keys in the task environment JSON. Attackers can POST tasks setting ansiblesshcommonargs with a ProxyCommand or ansibleconnection=local to execute commands as the Semaphore server user, exposing encryption keys, SSH keys and stored secrets.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue?
An authenticated user with the task_runner role can exploit it by creating or submitting a task. The issue is reachable remotely through task submission.
What does an attacker need to provide?
The attacker must supply arbitrary keys in the task environment JSON when posting a task. Relevant overrides include ansible_ssh_common_args with a ProxyCommand or ansible_connection=local.
What access could successful exploitation provide?
Commands execute as the Semaphore server user. This can expose encryption keys, SSH keys, and stored secrets accessible to that user.
How can I determine whether my deployment is affected?
Semaphore UI versions through 2.19.16 are affected. Review whether task_runner users can submit tasks with task environment JSON containing Ansible variable names such as ansible_ssh_common_args or ansible_connection.