Description
For an attacker with pre-existing access to send a signal to a workflow, the attacker can make the signal name a script that executes when a victim views that signal. The XSS is in the timeline page displaying the workflow execution details of the workflow that was sent the crafted signal.
Access to send a signal to a workflow is determined by how you configured the authorizer on your server. This includes any entity with permission to directly call SignalWorkflowExecution or SignalWithStartWorkflowExecution, or any entity can deploy a worker that has access to call workflow progress APIs (specifically RespondWorkflowTaskCompleted).
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Temporal OSS | ui-server | 2.16.2 – < 2.25.0 | 2.25.0 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | temporal +1 | 0.11.0-r4 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | github.com/temporalio/ui-server | all versions | — | GO-2024-2675 |
| Go | github.com/temporalio/ui-server/v2 | < 2.25.0 | 2.25.0 | GHSA-8f25-w7qj-r7hc |