CVE-2023-23636: Jellyfin Web stored XSS in playlist names and item labels

CVE-2023-23636 · Severity: low · CVSS 3.1 · Published 2023-02-03

Jellyfin is a popular open-source media system used to manage and stream personal media collections. A security flaw in the web interface allows an attacker to inject malicious scripts into playlist names or item labels. If a user views the affected item, the attacker could steal their login session tokens, potentially leading to unauthorized account access.

Vendors: Jellyfin, npm.

Quick answers

Is CVE-2023-23636 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2023-23636 being exploited in the wild.
How severe is CVE-2023-23636?
Low severity, with a CVSS score of 3.1, published 3 February 2023.
Which products and versions are affected?
Jellyfin Web 10.8.0 - 10.8.3; jellyfin-web (npm) SEMVER:introduced=10.8.0,fixed=10.8.4.
Is there a fix for CVE-2023-23636?
Yes. jellyfin-web (npm): upgrade to 10.8.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2023-23636 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2023-23636?
Check whether you run Jellyfin Web or jellyfin-web (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • jellyfin-web (npm): upgrade to 10.8.4 or later
    npm install jellyfin-web@10.8.4

Technical details

A stored cross-site scripting (XSS) vulnerability exists in Jellyfin Web versions 10.8.0 through 10.8.3. The root cause is the improper neutralization of HTML input within the 'aria-label' attributes of item cards and playlist names used for accessibility. An authenticated attacker can inject a malicious payload (e.g., an img tag with an onerror handler) into an item's name property. When another user navigates to a page displaying the affected item card, the script executes in their browser context, enabling the theft of access tokens from localStorage. This issue was fixed in version 10.8.4 by properly escaping item names in the card components.

Affected products

  • Jellyfin Jellyfin Web 10.8.0 - 10.8.3

Identifiers

  • CVE-2023-23636
  • GHSA-2h5r-cqfc-45v6

Timeline

  • 2022-08-02: disclosed: Vulnerability reported to Jellyfin by Christian Pöschl of usd AG
  • 2022-08-02: patched: Fix merged into release-10.8.z branch
  • 2022-08-14: advisory: Official release of version 10.8.4 containing the fix
  • 2023-02-03: advisory: GitHub Security Advisory published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.