{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2024-2435","assignerOrgId":"61241ed8-fa44-4f23-92db-b8c443751968","state":"PUBLISHED","assignerShortName":"Temporal","dateReserved":"2024-03-13T17:29:42.211Z","datePublished":"2024-04-02T16:40:24.552Z","dateUpdated":"2024-08-01T19:11:53.568Z"},"containers":{"cna":{"affected":[{"collectionURL":"https://hub.docker.com/r/temporalio/ui","defaultStatus":"unaffected","modules":["Timeline view"],"packageName":"temporalio/ui","product":"ui-server","repo":"https://github.com/temporalio/ui-server","vendor":"Temporal OSS","versions":[{"lessThan":"2.25.0","status":"affected","version":"2.16.2","versionType":"semver"}]}],"descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"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.<br>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).<br>"}],"value":"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.\nAccess 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).\n"}],"impacts":[{"capecId":"CAPEC-63","descriptions":[{"lang":"en","value":"CAPEC-63 Cross-Site Scripting (XSS)"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":4.3,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"HIGH","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:L","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","description":"CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","lang":"en","type":"CWE"}]}],"providerMetadata":{"orgId":"61241ed8-fa44-4f23-92db-b8c443751968","shortName":"Temporal","dateUpdated":"2024-04-02T16:40:24.552Z"},"references":[{"tags":["release-notes"],"url":"https://github.com/temporalio/ui-server/releases/tag/v2.25.0"}],"source":{"discovery":"EXTERNAL"},"title":"Stored XSS in Timeline View","x_generator":{"engine":"Vulnogram 0.1.0-dev"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-2435","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-04-02T18:46:48.461273Z"}}}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2024-06-04T17:30:46.501Z"}},{"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2024-08-01T19:11:53.568Z"},"title":"CVE Program Container","references":[{"tags":["release-notes","x_transferred"],"url":"https://github.com/temporalio/ui-server/releases/tag/v2.25.0"}]}]}}