this post was submitted on 02 Apr 2025
69 points (100.0% liked)

Technology

38500 readers
564 users here now

A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.

Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.

Subcommunities on Beehaw:


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 3 years ago
MODERATORS
 

Collection of potential security issues in Jellyfin This is a non exhaustive list of potential security issues found in Jellyfin. Some of these might cause controversy. Some of these are design fla...

top 50 comments
sorted by: hot top controversial new old
[–] anarchiddy@lemmy.dbzer0.com 27 points 1 week ago (2 children)

I'm not sure who needs to hear this, but unless you work as a security engineer or in another security-focused tech field, you really shouldn't be exposing your homelab to the open internet anyway

Most people access their homelabs via VPN - i don't see anything here that's a problem for that use-case.

[–] ocean@lemmy.selfhostcat.com 10 points 1 week ago (1 children)

Many people host websites ;)

[–] anarchiddy@lemmy.dbzer0.com 7 points 1 week ago

And I would hope those websites are extremely low-risk and not anywhere near essential infrastructure or data ;)

[–] jagged_circle@feddit.nl 4 points 1 week ago (1 children)

I need to run a VPN already. Fine for desktop, but this isn't a solution for mobile (where you can't run two VPNs simultaneously)

[–] hareen@social.ookami.space 11 points 1 week ago (4 children)

@jagged_circle @anarchiddy

It's actually possible to run 2 VPNs simultaneously on mobile using RethinkDNS which is an app available on F-Droid. For example I'm currently connected to MullvadVPN and my home network at the same time using two WireGuard configs.

load more comments (4 replies)
[–] troed@fedia.io 23 points 1 week ago (40 children)

It's a list from 2021 and as a cybersec researcher and Jellyfin user I didn't see anything that would make me say "do not expose Jellyfin to the Internet".

That's not to say there might be something not listed, or some exploit chain using parts of this list, but at least it's not something that has been abused over the last four years if so.

[–] ilega_dh@feddit.nl 11 points 1 week ago* (last edited 1 week ago) (5 children)

Agreed, this is a valid list of minor concerns but this is just a fearmongering post. It’s not good that some metadata can leak but if you take normal precautions (i.e. don’t run this next to your classified information storage) it’s fine to open this so your friends can watch media.

Source: me and my Masters degree in cybersecurity (but apparently OP just learned about Kerckhoff’s principle and rainbow tables in a completely incorrect context so I know how to do my job or smth lmao)

Edit: lol don’t look at OPs post history, now I know where the fearmongering came from

[–] Saik0Shinigami@lemmy.saik0.com 6 points 1 week ago* (last edited 1 week ago) (2 children)

Source: R1 masters professor. Literally the person you would have needed to take the class from on the topic at my institution.

This is a problem simply because most paths and names will be similar due to *arr suites and docker mounts normalizing them to a standard that jellyfin wants to see. In the context of Sony's top 1000 movies, they can pre-compile the top 100 likely paths for the file (/movies, /mnt/movies, etc) then run the 100000 hash check through scripts against your instance. How long does it take to let a crawler collect http statuses on 100000 page loads? Now put that to a bot that gets jellyfin instances from a tool like shodan and add more hashes. If you flag, now onus is on you to prove you have license for content and they would have a case that you distributing (albeit weak) since your server was open to the public. This is child's play level abuse-able. Risking that something easy like this isn't being abused by Sony and others (you know... willing to install a rootkit on your computer types...) is a very silly stance to take.

The hash that's used to represent the path isn't salted or otherwise unique.

Edit: mobile typos.

load more comments (2 replies)
[–] domi@lemmy.secnd.me 3 points 1 week ago

It's nice to read something sane in these threads.

load more comments (3 replies)
[–] deadcade@lemmy.deadca.de 3 points 1 week ago

Fully agreed. There's some stuff in the list that could leak server info or metadata about available content to the public, but the rest seems to require some knowledge before being able to exploit it, such as user IDs.

That doesn't mean these aren't issues, but they're not "take your jellyfin down now" type issues either.

load more comments (38 replies)
[–] ipkpjersi@lemmy.ml 15 points 1 week ago* (last edited 1 week ago) (1 children)

~~Many of these have already been fixed FWIW, it's not a collection of open issues.~~ Nevermind, they have only been closed, not fixed. Yikes.

[–] Saik0Shinigami@lemmy.saik0.com 15 points 1 week ago* (last edited 1 week ago) (3 children)

No. None of the items are closed. Click the "closed" items. All of them are "Not planned. Duplicate, see 5415".

Edit: The biggest issue of unauthenticated streaming of content... https://github.com/jellyfin/jellyfin/issues/13777

Last opened last week. closed as duplicate. it's unaddressed completely.

load more comments (3 replies)
[–] easily3667@lemmus.org 14 points 1 week ago (1 children)

For those unaware, it's a good idea to be using a service like tailscale (self hosted=headscale if you don't want to make your login credentials tied to apple, google, or Microsoft). It's a VPN but a lot simpler to use.

[–] jagged_circle@feddit.nl 4 points 1 week ago (3 children)

I dont know what that means.

Can I use that in addition to another VPN on mobile?

load more comments (3 replies)
[–] ReversalHatchery@beehaw.org 13 points 1 week ago* (last edited 1 week ago) (1 children)

I remember when they were arguing that you don't need a VPN or proxy basic authentication in front of it because their team knows how to write secure code...

[–] jagged_circle@feddit.nl 9 points 1 week ago

There's a bug (closed as won't fix) where proxy basic authentication breaks jellyfin. You can't use it.

[–] jagged_circle@feddit.nl 12 points 1 week ago

PluginsController only requires user privileges for potentially sensitive actions

  • Includes, but is not limited to: Listing all plugins on the server without being admin, changing plugin settings, listing plugin settings without being admin. This includes the possibility of retrieving LDAP access credentials without admin privileges.

Outch

[–] kratoz29@lemm.ee 9 points 1 week ago (4 children)

Huh, I can't check the link right now... But if exposing Jellyfin to the Internet is not an option, then it is not ready to be shipped as the Plex replacement I have heard a lot here and on Reddit.

[–] fmstrat@lemmy.nowsci.com 10 points 1 week ago (1 children)

The linked post is from 2021. Many of the items were already closed. This looks like fear mongering.

No. None of the items are closed. Click the "closed" items. All of them are "Not planned. Duplicate, see 5415".

[–] t3rmit3@beehaw.org 7 points 1 week ago* (last edited 1 week ago) (3 children)

Put the instance behind another authentication point like a VPN or reverse proxy with SSO. That will prevent the wider Internet from accessing it without legitimate users being cut off. You should be doing this with any server you operate (like Plex), but definitely one that may have legal implications.

[–] ReversalHatchery@beehaw.org 6 points 1 week ago (1 children)

aaaand now you smart tv can't connect. none of them. the clients dont even support http basic auth creds put into the URL for some crazy reason.

for advanced HTTP-level authentication you would need to run a reverse proxy on the TV's network that would add the authentication info. for the VPN idea you would need to tunnel the TV's network's internet connection at the router. or set up a gateway address in the TVs network settings that would do that. or use a reverse proxy here too so that it repeats the request to the real server.

but honestly, this is the real and only secure way anyway. I wouldn't be comfortable to expose jellyfin even if the devs are real experts. I mean vulns get discovered, in dotnet, jellyfin dependencies, linux filesystem, and reverse proxy, and honestly who has time to always tightly keep up to date with all that.

that's not to discount the seriousness of the issue though, it's a real shame that jellyfin is so much against security

[–] t3rmit3@beehaw.org 5 points 1 week ago* (last edited 1 week ago) (1 children)

Your smart TV is (presumably) on your local network, so you should be routing the requests locally (point the client at the local ip, assuming it didn't autodiscover it) not through the VPN/ tunnel.

[–] ReversalHatchery@beehaw.org 4 points 1 week ago (2 children)

Your smart TV is (presumably) on your local network

often, but not always. sometimes the TV is at a different house, when you are a guest or at a second property

load more comments (2 replies)
load more comments (2 replies)
[–] p03locke@lemmy.dbzer0.com 4 points 1 week ago

Agreed. I'm a bit disappointed that it's being touted as such. If you need a local LAN option, use VLC Player.

[–] Chastity2323@midwest.social 3 points 1 week ago (2 children)

Do we even know that Plex is better? It's closed source and hasn't been audited afaik

[–] Saik0Shinigami@lemmy.saik0.com 9 points 1 week ago* (last edited 1 week ago)

Do we even know that Plex is better? It’s closed source and hasn’t been audited afaik

Yes... because you can take the raw request your browser makes... remove your auth cookie and replay the same request and it fails.

Closed source doesn't mean that it can't be tested for problems. Just means that you can't go to the code to understand why it's a problem. You can still see that the problem exists (or doesn't in this case).

Edit: I haven't tested every api endpoint myself... but for video files it doesn't work. It's not vulnerable to the same thing that JF is in that specific case.

[–] kratoz29@lemm.ee 4 points 1 week ago

It is if you have compared them together.

I haven't recently thought and I am a lifetime Plex pass user (we will see what lifetime truly means sooner or later) and I have still been unaffected by most of the changes Plex has done (watch together is the 1st valuable feature that I have lost), so if you can't expose Jellyfin then it is not better than Plex for me.

[–] HappyTimeHarry@lemm.ee 8 points 1 week ago (2 children)

If my server is already open to everyone, what kind of potential attacks do i need to be worried a about? I dont keep personal files on my streaming server, its just videos, music and isos/roms. I dont restrict sign ups, so the idea of an unauthorized user doing something like download a video is a non issue for me really.

I do see where there could be problems for folks running jfin on the same server they keep private photos or for people who charge users for acess, but thats not me.

Am i missing something or is the main result of most of these that a "malicious" actor could dowload files jellyfin has access to without authentication?

[–] jagged_circle@feddit.nl 12 points 1 week ago* (last edited 1 week ago)

I guess the worst thing is that your server starts attacking the US military servers because you've become part of a botnet.

That happened to my friend one time when I installed Linux on his computer. He made the username and password the same 4-character word. Got a letter from the DoD.

I dont think they would be so forgiving these days. Especially if you're brown.

[–] Saik0Shinigami@lemmy.saik0.com 10 points 1 week ago* (last edited 1 week ago) (1 children)

With unrestricted signups, they can obtain their own account easily. With their own account they can enumerate all your other users.

If they have their own account they can just find your instance, make a login, collect all the proof they need that you're hosting content you don't own (illegally own) then serve you a court summons and ruin your life.

I wouldn't worry about the vulnerability in the link since your already wide open. But I wouldn't leave Jellyfin wide open either. Movie and TV studios are quite litigious.

I hope you're at least gatekeeping behind a vpn or something.

Edit: typo

[–] HappyTimeHarry@lemm.ee 5 points 1 week ago (4 children)

Well it's hosted in The Netherlands and I did take some steps to protect my own identity in regards to registration info, but if the studios did take an interest i'd probably have some fun with it by decaliring bankrupcy and dragging out the appeals.

load more comments (4 replies)
[–] GiuseppeAndTheYeti@midwest.social 7 points 1 week ago (2 children)

Can someone ELI5 this for me? I have a jellyfin docker stack set up through dockstarter and managed through portainer. I also own a domain that uses cloudflare to access my Jellyfin server. Since everything is set up through docker, the containers volumes are globally set to only have access to my media storage. Assuming that my setup is insecure, wouldn't that just mean that "hackers" would only be able to stream free media from my server?

[–] Saik0Shinigami@lemmy.saik0.com 12 points 1 week ago* (last edited 1 week ago) (2 children)

If you use normalized paths/file names (through *Arr stacks or docker mounts or otherwise common tools), then the hash that jellyfin sets up when it imports that media can be guessable. If someone was to go and precompile a list of hashes for content that they're looking for at common paths that people store their files at, they can ask your server for those hashes, and if their list is sufficiently large enough to include the path that you used, your jellyfin instance WILL RESPOND WITHOUT AUTHENTICATION.

I've been using this example because it shows how silly this is.

In the context of Sony’s top 1000 movies, they can pre-compile the top 100 likely paths for the file (/movies, /mnt/movies, etc) then run the 100000 hash check through scripts against your instance. How long does it take to let a crawler collect http statuses on 100000 page loads? Now put that to a bot that gets jellyfin instances from a tool like shodan and add more hashes. If you flag, now onus is on you to prove you have license for content and they would have a case that you distributing (albeit weak) since your server was open to the public. This is child’s play level abuse-able. Risking that something easy like this isn’t being abused by Sony and others (you know… willing to install a rootkit on your computer types…) is a very silly stance to take.

The answer to some of this is that you can just hide the content on a more complicated and less likely to guess path. That will sufficiently change the MD5 hashes enough that you should be more or less unguessable... Instead of using /mnt/media/movies (or /media/movies, or /movies/, etc...) make the path /mnt/k9RKiQvUwLVCjSqhb2gWTwstgKuDJx59S3J35eFzW2dgSSp84EG7PPAhf2MwCySt/media/movies. (obviously don't use this one... use a random generator. Make your own.)

The real answer should be that Jellyfin requires that all those endpoint need authorization/login. But their answer is "We don't want to break backwards compatibility. So we won't." Which is a bit silly of an answer. Those who use the default installation and organize their content with *arr suites (or with default docker settings/guide settings), are most likely to have guessable MD5 hashes and are most at risk.

Edit: Oh and the other point... if the "response" against this is "well that would take too long, or be too hard. You'd need a lot of money to find all these instances and test them...". We're talking about the likes of Sony... The ones that installed rootkits on peoples computers for daring to put a CD into a CD-ROM drive. They're litigious folk, and will bury you in paper and sue you to oblivion. It's not a lot of machine time to test a single server. Setting up a couple dozen scanners and just letting it go to find content on it's own isn't that bad from a computational standpoint.

And another argument I've seen here... "Well if they hack your server then that's illegal too, can't make a lawsuit out of that"... Except this is normal web operations. Bots and site scanners aren't illegal. Nor do they break any authentication mechanism (which is illegal) to do this. Specifically putting this behind authentication would make you correct. But Jellyfin didn't do that (yet). So guess what. It's perfectly possible for them to setup a few scanners across a few servers and do this 100% legally.

Security through obscurity isn't security.

Edit2: Clarification on not using the path I just gave... make up your own random gibberish.

load more comments (2 replies)
[–] jagged_circle@feddit.nl 4 points 1 week ago* (last edited 1 week ago) (1 children)

Or you become part of a bonnet and attack your own government's military. Then you get some very angry knocks on your door and a black back over your face.

And, if you're brown, probably some electrodes on your genitals until you sign a written confession.

[–] KairuByte@lemmy.dbzer0.com 5 points 1 week ago (1 children)

This isn’t happening. The government understand what a botnet is, and if tens or hundreds of thousands of compromised machines are involved, they aren’t coming after you for being part of the attack.

They might send you mail telling you to take care of your shit though.

[–] jagged_circle@feddit.nl 3 points 1 week ago

Some countries have recently been snatching brown people off the streets for any reason. And firing all the smart folks who might know what a bonnet is

Be reasonable, we're talking about States here.

[–] HurlingDurling@lemm.ee 4 points 1 week ago (2 children)

Honestly, is the problem that they need extra hands to fix these issues?

load more comments (2 replies)
[–] KingThrillgore@lemmy.ml 3 points 1 week ago
[–] tnsi@warhammer.social 3 points 1 week ago

@Scary_le_Poo I wouldn't say never, but in most cases, you're best served by sticking it behind wireguard- but this is also true of any service or tool you don't intend to make available to the greater internet

load more comments
view more: next ›