{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-55879","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","state":"PUBLISHED","assignerShortName":"GitHub_M","dateReserved":"2026-06-17T16:59:42.759Z","datePublished":"2026-07-10T20:39:44.493Z","dateUpdated":"2026-07-10T20:39:44.493Z"},"containers":{"cna":{"title":"OpenReplay: Unauthenticated stored XSS leads to dashboard account takeover","problemTypes":[{"descriptions":[{"cweId":"CWE-79","lang":"en","description":"CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","type":"CWE"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":9.3,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N","version":"3.1"}}],"references":[{"name":"https://github.com/openreplay/openreplay/security/advisories/GHSA-3mfc-7hf4-jfxh","tags":["x_refsource_CONFIRM"],"url":"https://github.com/openreplay/openreplay/security/advisories/GHSA-3mfc-7hf4-jfxh"},{"name":"https://github.com/openreplay/openreplay/commit/ec41f4425a99c478a4418adbd2f094ab6a8b0daf","tags":["x_refsource_MISC"],"url":"https://github.com/openreplay/openreplay/commit/ec41f4425a99c478a4418adbd2f094ab6a8b0daf"},{"name":"https://github.com/openreplay/openreplay/releases/tag/v1.25.0","tags":["x_refsource_MISC"],"url":"https://github.com/openreplay/openreplay/releases/tag/v1.25.0"}],"affected":[{"vendor":"openreplay","product":"openreplay","versions":[{"version":">= 1.24.0, < 1.25.0","status":"affected"}]}],"providerMetadata":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-07-10T20:39:44.493Z"},"descriptions":[{"lang":"en","value":"OpenReplay is a self-hosted session replay suite. From 1.24.0 before 1.25.0, the OpenReplay tracking SDK accepts custom event names and captured page URLs from any visitor using a public project key, stores them in ClickHouse without output encoding, and later renders them in the authenticated dashboard through TextEllipsis and the event-details modal, allowing an unauthenticated attacker to store script that executes in the dashboard origin, reads the session JWT from localStorage, and takes over a dashboard account. This issue is fixed in version 1.25.0."}],"source":{"advisory":"GHSA-3mfc-7hf4-jfxh","discovery":"UNKNOWN"}}}}