{"id":"CVE-2026-112305","published":"2026-10-19T16:17:06.400","lastModified":"2026-10-19T18:17:05.250","description":"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.","cvssScore":8.8,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cwes":["CWE-915"],"vendors":[],"products":[],"references":[{"url":"https://github.com/semaphoreui/semaphore","tags":[]},{"url":"https://github.com/semaphoreui/semaphore/blob/v2.19.16/api/projects/tasks.go#L39-L75","tags":[]},{"url":"https://github.com/semaphoreui/semaphore/blob/v2.19.16/services/tasks/TaskRunner.go#L395-L431","tags":[]},{"url":"https://github.com/semaphoreui/semaphore/pull/3888","tags":[]},{"url":"https://www.vulncheck.com/advisories/semaphore-ui-through-2.19.16-rce-via-task-environment-ansible-variable-override","tags":[]}],"exploitRefs":[{"url":"https://github.com/semaphoreui/semaphore","tags":[]},{"url":"https://github.com/semaphoreui/semaphore/blob/v2.19.16/api/projects/tasks.go#L39-L75","tags":[]},{"url":"https://github.com/semaphoreui/semaphore/blob/v2.19.16/services/tasks/TaskRunner.go#L395-L431","tags":[]},{"url":"https://github.com/semaphoreui/semaphore/pull/3888","tags":[]}],"hasPoc":true,"ai":null}