CVE-2026-77615: Opencast: Stored XSS in Paella player via WebVTT/DFXP caption cue text
The Opencast Paella player renders caption cue text into innerHTML without escaping. The captions canvas clears _captionsContainer.innerHTML and then appends each active cue with _captionsContainer.innerHTML += cue, so HTML inside a WebVTT or DFXP cue becomes live DOM and executes in the Opencast origin.
The caption track is read from any media package element with a captions/* flavor and is served, with the player manifest, to anonymous viewers through /search/episode.json. The caption plugins that consume it are enabled in the default player configuration, the “Subtitles” upload that produces a captions/source track is active by default, and no caption processing step escapes the cue text.
A user who can upload a subtitle to an event and publish it stores the payload in the published caption file. Any viewer who opens the event and turns captions on runs the script.
Result: a non-admin content author stores JavaScript in a subtitle cue that executes in the browser session of every viewer who enables captions on that event, including anonymous viewers and authenticated staff.
References
- github.com/advisories/GHSA-m6c8-jcw2-5r25
- github.com/opencast/opencast/commit/701682c635f668228c3e8fb7b4564b3294788e40
- github.com/opencast/opencast/pull/7736
- github.com/opencast/opencast/releases/tag/19.7
- github.com/opencast/opencast/releases/tag/20.2
- github.com/opencast/opencast/security/advisories/GHSA-m6c8-jcw2-5r25
- github.com/polimediaupv/paella-core/commit/94a36490808ac5a1f60a0745d71ec9253f6d206b
- github.com/polimediaupv/paella-core/commit/9b2f14ec4cf55efaf4c045c77a5ed8f5ec559ab4
- github.com/polimediaupv/paella-player/blob/a1b6c42467938a00a4b4d0b8c68435cd4f9d2a16/repos/paella-core/CHANGELOG.md?plain=1
- github.com/polimediaupv/paella-player/commit/6fe4af7306044198c8e91e2e7f4128428b83cf03
- nvd.nist.gov/vuln/detail/CVE-2026-77615
Code Behaviors & Features
Detect and mitigate CVE-2026-77615 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →