Skip to main content

CVE-2023-49096: CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') in jellyfin jellyfin

High
VulnerabilityCVE-2023-49096cvecve-2023-49096cwe-88
Published: Wed Dec 06 2023 (12/06/2023, 19:14:11 UTC)
Source: CVE Database V5
Vendor/Project: jellyfin
Product: jellyfin

Description

Jellyfin is a Free Software Media System for managing and streaming media. In affected versions there is an argument injection in the VideosController, specifically the `/Videos/<itemId>/stream` and `/Videos/<itemId>/stream.<container>` endpoints which are present in the current Jellyfin version. Additional endpoints in the AudioController might also be vulnerable, as they differ only slightly in execution. Those endpoints are reachable by an unauthenticated user. In order to exploit this vulnerability an unauthenticated attacker has to guess an itemId, which is a completely random GUID. It’s a very unlikely case even for a large media database with lots of items. Without an additional information leak, this vulnerability shouldn’t be directly exploitable, even if the instance is reachable from the Internet. There are a lot of query parameters that get accepted by the method. At least two of those, videoCodec and audioCodec are vulnerable to the argument injection. The values can be traced through a lot of code and might be changed in the process. However, the fallback is to always use them as-is, which means we can inject our own arguments. Those arguments land in the command line of FFmpeg. Because UseShellExecute is always set to false, we can’t simply terminate the FFmpeg command and execute our own. It should only be possible to add additional arguments to FFmpeg, which is powerful enough as it stands. There is probably a way of overwriting an arbitrary file with malicious content. This vulnerability has been addressed in version 10.8.13. Users are advised to upgrade. There are no known workarounds for this vulnerability.

AI-Powered Analysis

AILast updated: 07/07/2025, 08:26:10 UTC

Technical Analysis

CVE-2023-49096 is a high-severity vulnerability affecting Jellyfin, an open-source media server software used for managing and streaming media content. The vulnerability is classified under CWE-88, which involves improper neutralization of argument delimiters leading to command injection. Specifically, the flaw exists in the VideosController endpoints `/Videos/<itemId>/stream` and `/Videos/<itemId>/stream.<container>`, and potentially in similar AudioController endpoints. These endpoints accept various query parameters, notably `videoCodec` and `audioCodec`, which are vulnerable to argument injection. An unauthenticated attacker can exploit this by injecting additional arguments into the FFmpeg command line used by Jellyfin to process media streams. Although the `UseShellExecute` flag is set to false, preventing full command termination and arbitrary command execution, the attacker can append arguments to FFmpeg commands. This capability could allow overwriting arbitrary files with malicious content, potentially leading to remote code execution or system compromise. Exploitation requires guessing a valid `itemId`, which is a random GUID, making successful exploitation less likely without additional information leaks. The vulnerability affects all Jellyfin versions prior to 10.8.13, where it has been patched. No known workarounds exist, and the vulnerability is exploitable remotely without authentication but with high attack complexity due to the need to guess valid item IDs. The CVSS v3.1 base score is 7.7, reflecting high impact on confidentiality and integrity, with low impact on availability.

Potential Impact

For European organizations using Jellyfin to manage and stream media, this vulnerability poses a significant risk. An attacker exploiting this flaw could manipulate FFmpeg processing commands to inject malicious arguments, potentially overwriting files or altering media streams. This could lead to unauthorized access to sensitive media content, data tampering, or even remote code execution if the attacker crafts payloads that exploit FFmpeg's processing capabilities. Given that Jellyfin instances are often deployed in home, educational, or small business environments, the risk extends to privacy breaches and service disruptions. Organizations with publicly accessible Jellyfin servers are particularly vulnerable, as the attack requires no authentication and can be launched remotely. The difficulty in guessing valid item IDs reduces the likelihood of widespread exploitation but does not eliminate targeted attacks, especially if attackers gain auxiliary information about media libraries. The absence of workarounds means organizations must rely on timely patching to mitigate risk. The vulnerability could also be leveraged as a foothold for lateral movement within networks if the compromised server has broader access, increasing the potential impact on organizational IT infrastructure.

Mitigation Recommendations

1. Immediate upgrade of all Jellyfin instances to version 10.8.13 or later, where the vulnerability is patched, is the most effective mitigation. 2. Restrict network access to Jellyfin servers by implementing firewall rules or VPN access, limiting exposure to the internet and reducing the attack surface. 3. Monitor server logs for unusual requests to the vulnerable endpoints, especially those containing suspicious query parameters like `videoCodec` and `audioCodec`. 4. Employ application-layer filtering or web application firewalls (WAFs) to detect and block malformed or suspicious requests targeting the vulnerable endpoints. 5. Conduct regular audits of media item IDs and access patterns to detect potential reconnaissance attempts aimed at guessing valid GUIDs. 6. Isolate Jellyfin servers in segmented network zones with minimal privileges to limit potential lateral movement if compromised. 7. Educate administrators about the risks of exposing media servers publicly and encourage secure deployment practices. Since no workarounds exist, patching combined with network-level controls and monitoring is critical.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
GitHub_M
Date Reserved
2023-11-21T18:57:30.430Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 683732d3182aa0cae25301f2

Added to database: 5/28/2025, 3:59:15 PM

Last enriched: 7/7/2025, 8:26:10 AM

Last updated: 7/30/2025, 4:34:22 PM

Views: 8

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats