CVE-2024-43801: Privilege escalation to admin from a low-privileged user via SVG upload in Jellyfin
Jellyfin is an open source self hosted media server. The Jellyfin user profile image upload accepts SVG files, allowing for a stored XSS attack against an admin user via a specially crafted malicious SVG file. When viewed by an admin outside of the Jellyfin Web UI (e.g. via "view image" in a browser), this malicious SVG file could interact with the browser's LocalStorage and retrieve an AccessToken, which in turn can be used in an API call to elevate the target user to a Jellyfin administrator. The actual attack vector is unlikely to be exploited, as it requires specific actions by the administrator to view the SVG image outside of Jellyfin's WebUI, i.e. it is not a passive attack. The underlying exploit mechanism is solved by PR #12490, which forces attached images (including the potential malicious SVG) to be treated as attachments and thus downloaded by browsers, rather than viewed. This prevents exploitation of the LocalStorage of the browser. This PR has been merged and the relevant code changes are included in release version 10.9.10. All users are advised to upgrade.
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2024-43801?
CVE-2024-43801 is classified as a medium severity vulnerability due to its potential for a stored XSS attack against admin users.
How do I fix CVE-2024-43801?
To fix CVE-2024-43801, upgrade to Jellyfin version 10.9.11 or later, where the vulnerability has been addressed.
What is the impact of CVE-2024-43801?
The impact of CVE-2024-43801 allows an attacker to execute JavaScript code in the context of an admin user's session through a malicious SVG file.
What versions of Jellyfin are affected by CVE-2024-43801?
CVE-2024-43801 affects Jellyfin versions from 10.8.0 to 10.9.10 inclusive.
Are there any workarounds for CVE-2024-43801?
A temporary workaround for CVE-2024-43801 is to restrict SVG file uploads until you can upgrade to a non-vulnerable version.