Jellyfin critical security update - This is not a joke (github.com)
from Mubelotix@jlai.lu to selfhosted@lemmy.world on 01 Apr 07:12
https://jlai.lu/post/35398174

#selfhosted

threaded - newest

Burghler@sh.itjust.works on 01 Apr 07:32 next collapse

Wonder if it’s the Axios one. Sounds like it isn’t from their description though hmm

doeknius_gloek@discuss.tchncs.de on 01 Apr 07:59 next collapse

I don’t think so, the previous release 10.11.6 is a few months old and the axios supply chain attack happened yesterday.

Strit@lemmy.linuxuserspace.show on 01 Apr 08:17 collapse

So lets hope this 10.11.7 is not subject to the axios one. :)

rollerbang@lemmy.world on 01 Apr 08:00 next collapse

Diff agrees, not likely. Might be permisson related, elevation of privileges.

r00ty@kbin.life on 01 Apr 09:40 collapse

From a cursory look at just the security commits. Looks like the following:

  • GHSA-j2hf-x4q5-47j3: Checks if a media shortcut is empty, and checks if it is remote and stores the remote protocol if so. Also prevent strm files (these are meant to contain links to a stream) from referencing local files. Indeed this might have been used to reference files jellyfin couldn't usually see?
  • GHSA-8fw7-f233-ffr8: Seems to be similar, except for M3U file link validation and limiting allowed protocols. It also changes the default permissions for live TV management to false.
  • GHSA-v2jv-54xj-h76w: When creating a structure there should be a limit of 200 characters for a string which was not enforced.
  • GHSA-jh22-fw8w-2v9x: Not really completely sure here. They change regex to regexstr in a lot of places and it looks like some extra validation around choosing transcoding settings.

I'm not really sure how serious any of these are, or how they could be exploited however. Well aside from the local file in stream files one.

[deleted] on 01 Apr 12:33 collapse

.

sudoMakeUser@sh.itjust.works on 01 Apr 12:46 collapse

Axios is a Javascript library and Jellyfin is written in C#.

dvlsg@lemmy.world on 01 Apr 14:26 collapse

True, but there is a web frontend. Possible it could be using npm and axios.

I still doubt it. But it could happen.

sudoMakeUser@sh.itjust.works on 01 Apr 14:50 collapse

The web server is in C#. It’s open source lol, I’m looking at the code and there’s no JavaScript.

[deleted] on 01 Apr 15:02 next collapse

.

Mubelotix@jlai.lu on 01 Apr 15:05 collapse

Look better github.com/jellyfin/jellyfin-web

sudoMakeUser@sh.itjust.works on 01 Apr 15:20 collapse

That’s awkward. I didn’t know that was in a separate repo.

cholesterol@lemmy.world on 01 Apr 07:57 next collapse

In the raspian repos, just updated, thanks.

Strit@lemmy.linuxuserspace.show on 01 Apr 08:01 collapse

also in the docker repository.

varnia@lemmy.blahaj.zone on 01 Apr 08:58 next collapse

There is a good reason I only have Jellyfin and other services accessible via valid Client Certificate.

daniskarma@lemmy.dbzer0.com on 01 Apr 11:48 next collapse

Does it work with android and TV apps?

I tried long ago and failed.

varnia@lemmy.blahaj.zone on 01 Apr 12:25 collapse

No, we only use Jellyfin via browser. Unfortunately even with imported Client Cert, Android apps won’t work.

Edit: Client Certs need to be implemented per App. There is a feature request from 2022 …jellyfin.org/…/capability-to-specify-client-cert…

greyscale@lemmy.grey.ooo on 01 Apr 17:36 collapse
sudoMakeUser@sh.itjust.works on 01 Apr 12:20 collapse

Also interested how this works for mobile apps. I self host a number of services through caddy as my reverse proxy but each application is just dependent on it’s own authentication. If I exposed all my services to the internet, that’s a huge attack vector. If anyone else has some ideas I’d be happy to listen.

daniskarma@lemmy.dbzer0.com on 01 Apr 17:33 collapse

If you are the only user and don’t need to use those apps in devices you don’t own a vpn is the way to go.

If not. Depending the number of users you could do some heavy ip geoblocking to at least reduce the exposed surface.

There are a few services I have just like 3 IPs allowed to get a response from caddy, any other ip gets 403 error.

esc@piefed.social on 01 Apr 09:24 next collapse

Don’t expose jellyfin to the internet is a golden rule.

LycaKnight@infosec.pub on 01 Apr 09:44 next collapse

Yeah, i have my 30 docker containers behind Headscale (Tailscale).

pfr@piefed.social on 01 Apr 12:07 collapse

NetBird is coming for you

antrosapien@lemmy.ml on 01 Apr 12:17 collapse

I have been planning to check out Netbird for couple of days. Is it a good alternative for headscale and pangolin?

Damarus@feddit.org on 01 Apr 09:45 next collapse

Kinda defeats the purpose of a media server built to be used by multiple people

InnerScientist@lemmy.world on 01 Apr 09:48 next collapse

Use a VPN, it’s not ideal but it’s secure.

tiz@lemmy.ml on 01 Apr 10:36 next collapse

Don’t reverse proxies like pangolin just do the job? Does it have to be VPN in this particular concept? VPN isn’t like immune to vulnerabilities.

radar@programming.dev on 01 Apr 11:15 next collapse

Reverse proxy doesn’t really get you much security. If there is an application level issue a reverse proxy will not help

tiz@lemmy.ml on 01 Apr 12:13 next collapse

I see thanks. I’ll think about it more.

whimsy@lemmy.zip on 01 Apr 17:21 collapse

Hmmm, I’m a bit rusty on this but can’t one put an auth gate in front of the application, handled by the reverse proxy?

radar@programming.dev on 01 Apr 17:27 collapse

You can, that would actually give you security. Not sure how many people do that. I assumed a straight reverse proxy without any auth

r00ty@kbin.life on 01 Apr 11:37 next collapse

Reverse proxy will let anyone connect to it. VPN, you can create keys/logins for your intended users only. Having said that, from what I could see, nothing in the security fixes were to do with authentication. I think (just from a cursory look), they could only be exploited, if at all from an authenticated user session.

But personally, something like jellyfin where the number of people I want to be able to access it is very limited, stays behind a VPN. Better to limit your potential attack surface as much as you can.

ohshit604@sh.itjust.works on 01 Apr 12:48 collapse

Pangolin is based off of Traefik if I’m not mistaken, should be able to use Traefiks IPAllowlist middleware to blacklist all IP addresses and only whitelisting the known few, that way you can expose your application to the internet knowing you have that restriction in place for those who connect to your service.

VeganCheesecake@lemmy.blahaj.zone on 01 Apr 16:41 collapse

If the people you want to have access have static, exclusive ip addresses. Which is pretty unusual, these days.

ohshit604@sh.itjust.works on 01 Apr 17:31 collapse

Oh yeah I’m aware, if people don’t want to use a VPN then I suggest this but give them the advisory warning.

Actually, recently I’ve been using a fork of IPAllowList which accepts DDNS addresses, but that usually is for more technical folk who would probably rather use a VPN then purchase a domain and associate it with their network.

Auli@lemmy.ca on 01 Apr 11:58 next collapse

Yahnlets see a roku use a VPN.

faercol@lemmy.blahaj.zone on 01 Apr 13:02 collapse

Somehow difficult to install on a TV though.

ramble81@lemmy.zip on 01 Apr 13:10 collapse

That’s why you do it at your router or gateway and then set a route for the Jellyfin server through the VPN adapter. That way any device on your network will flow through the tunnel to the Jellyfin server including TVs

faercol@lemmy.blahaj.zone on 01 Apr 13:31 collapse

Which again implies that you have a router that allows you to do so. It’s not always the case. For tech enthusiast people that’s the case. But not for everyone.

I tried to do the same thing at first, but it was a pain, there were tons of issues.

ugo@feddit.it on 01 Apr 15:10 collapse

No need to expose jellyfin to the internet if you selectively allow peers on your lan via wireguard.

Damarus@feddit.org on 01 Apr 15:22 next collapse

I’d rather just not use it at that point

ugo@feddit.it on 01 Apr 15:24 collapse

Fair, you do you, I get a lot of value out of it instead.

Damarus@feddit.org on 01 Apr 15:52 collapse

The difference is that my friends get a lot of value out of my server, as they don’t need to use any technology they’re unfamiliar with.

EncryptKeeper@lemmy.world on 01 Apr 16:15 next collapse

This attitude is why Plex remains popular.

keyez@lemmy.world on 01 Apr 17:23 collapse

Easy for me but not my aunts, cousins or father in law to setup and use.

ugo@feddit.it on 01 Apr 17:37 collapse

I believe your situation, that said I set up wireguard on my SO’s mac and all that is needed is to flip a switch in an app to connect. For my aunt, I’d likely set that up permanently since it only affects traffic when accessing the lan.

kbobabob@lemmy.dbzer0.com on 01 Apr 10:43 next collapse

So don’t use it outside your house? Pass

esc@piefed.social on 01 Apr 10:44 collapse

Nothing stops you from using it outside of your house.

Auli@lemmy.ca on 01 Apr 12:00 next collapse

It kind of does. Whatever and yes I’m aware of the list people keep posting and I’ve looked at it.

bonenode@piefed.social on 01 Apr 12:37 collapse

I just love it when people post one sentence rebuttals without actually including any usable information what they are talking about.

esc@piefed.social on 01 Apr 12:43 next collapse

The solution is mentioned already - use vpn, it will solve 90% of the problems that you can encounter. Also you can serve multiple other services this way without exposing them.

traxex@lemmy.dbzer0.com on 01 Apr 13:45 collapse

Tailscale is a super easy vpn that gives you access to your home network from anywhere. And it’s free.

CompactFlax@discuss.tchncs.de on 01 Apr 11:44 next collapse

That’s never made sense to me; why build an authn frontend instead of just clicking your user if the security is just an illusion anyways. “Use a VPN” is fine for a mainframe, but an active project in 2026 should aspire to be better.

Edit: or make note of that on their several pages with reverse proxy configuration.

Examples dating back over six years github.com/jellyfin/jellyfin/issues/5415

AHemlocksLie@lemmy.zip on 01 Apr 13:17 next collapse

I mean I’m sure they’d like to just ship safe code in the first place. But if that’s not their expertise and they demonstrate that repeatedly, we gotta take steps ourselves. Secure is obviously best, but I’d rather have insecure Jellyfin behind a VPN than no Jellyfin at all.

IratePirate@feddit.org on 01 Apr 13:19 next collapse

It’s not this or that. Security comes in layers. So while I would assume that the Jellyfin developers do their best to secure their application, I acknowledge the fact that bugs do exist and that Jellyfin is developed in and for hobbyist contexts, and thus not scrutinised and pentested for vulnerabilities in the way software meant for professional environments would be. Therefore I’ll add an extra layer of security by putting it behind a VPN that only whitelisted clients can access. If a vulnerability is detected, I can be sure it hasn’t already been exploited to compromise my server because we’re all “among friends” there.

Hammersamatom@lemmy.dbzer0.com on 01 Apr 17:18 collapse

Unfortunately, not everyone is tech-literate enough nowadays to understand how a VPN works, nor do they want to

Infernal_pizza@lemmy.dbzer0.com on 01 Apr 17:21 next collapse

Isn’t it easier to set up a VPN than expose it to the internet?

Hammersamatom@lemmy.dbzer0.com on 01 Apr 17:24 next collapse

Oh absolutely, difference being that you only need to expose the service once, versus helping however many people set up VPNs to access the service on your LAN

I know way too many people who won’t remember to toggle it on, or just won’t deal with it

It’s just not convenient enough

sanzky@lemmy.world on 01 Apr 18:03 collapse

and then you are giving access to your lan to people whose computer you don’t control and might be full of malware.

Infernal_pizza@lemmy.dbzer0.com on 01 Apr 18:32 next collapse

Tbh I forgot about giving access to others, my homelab is for me only lol

FauxLiving@lemmy.world on 01 Apr 18:43 collapse

You only have to give them access to a specific port on a specific machine, not your entire LAN.

My VPN has a ‘media’ usergroup who can only access the, read-only, NFS exports of my media library.

If you’re just installing Wireguard and enabling IP forwarding, yeah it would not be secure. But using a mesh VPN, like Tailscale/Headscale, gives you A LOT more tools to control access.

FauxLiving@lemmy.world on 01 Apr 18:45 collapse

Yes, not everyone. My grandmother would struggle setting up a VPN, for example.

However, a community member of the selfhosted community is perfectly capable of reading a manual and learning the software.

That’s how you become tech literate in the first place, and you’re already on that path if you’re commenting/reading here.

Hammersamatom@lemmy.dbzer0.com on 01 Apr 18:59 collapse

Agreed, was more so referring to others. I apologize if it seemed like I was referring to myself

I’m already well and truly deep into this, myself. Two Proxmox nodes running the *Arr stack and Jellyfin in LXC containers. Bare metal TrueNAS, with scheduled LTO backups every two weeks. A few other bits and bobs, like some game servers and home automation for family.

Will need to re-map everything eventually, it’s kind of grown out of hand

FauxLiving@lemmy.world on 01 Apr 19:15 collapse

Look at Tailscale (or self-host headscale)

It’s a bit of learning (like all of these other things) but it’s a very powerful tool.

I do agree with the general point that Jellyfin shouldn’t require a VPN.

Lemmchen@feddit.org on 01 Apr 12:24 next collapse

The thing is, if you have non-technical users, you have to set up the VPN connection on the client site yourself, maybe on multiple machines and more than once, if they decide to upgrade or even just reset their devices.

esc@piefed.social on 01 Apr 12:48 next collapse

The problem here - it’s not me who requires access to my library, if someone isn’t willing or able to do it, I’m sorry but that’s just how it is. People should stop infantilize non-technical people, absolute majority of them is capable of navigating our world without much problems and I’m willing to help them if help is asked.

If my 60 y.o. mother with close to zero technical skills can do it with limited help (due to distance and other constraints) I’m pretty sure that majority of people with sound mind can.

IratePirate@feddit.org on 01 Apr 12:54 next collapse

This. And for everyone you just can’t figure it out on their own, there’s RustDesk for remote assistance. It, too, can be self-hosted.

Lemmchen@feddit.org on 01 Apr 15:23 collapse

Or you can not be arrogant towards your friends and family who have probably helped you on lots of occasions and will probably keep being there for you in the future.
Idk man, unconditional sharing feels pretty good, tbh. Making them jump through hoops isn’t really my jam. To me this kinda all plays into making a stronger bond with people that are close to me, so maybe we have different reasons for why we are sharing our stuff.

Inb4 “we are not the same” meme

esc@piefed.social on 01 Apr 16:20 next collapse

I’m not arrogant, just don’t assume that people are dumb and inept. If they can’t or don’t want to give a bit of time to setup it, well how can someone be forced to use free service that causes momentarily inconvenience once to use. 😔

irmadlad@lemmy.world on 01 Apr 17:35 collapse

Idk man, unconditional sharing feels pretty good

Pass. Users cause complexities. Complexities cause issues.

DreamlandLividity@lemmy.world on 01 Apr 12:54 collapse

So use a reverse proxy with authentiacation before access to Jellyfin is allowed. I use Caddy forward_auth with Authelia for this. Unless you also want to use the apps without VPN, this works great.

inclementimmigrant@lemmy.world on 01 Apr 14:20 next collapse

Got instructions or a site to point to on setting something like that up?

DreamlandLividity@lemmy.world on 01 Apr 14:23 collapse

Honestly, I may have to write one at some point. I just used the documentation of those two tools to set it up.

Lemmchen@feddit.org on 01 Apr 15:16 collapse

Does that work for the Android and Android TV apps?

DreamlandLividity@lemmy.world on 01 Apr 15:43 collapse

No. As I said, apps don’t work. I cobbled together an API key service that let’s you have an API key (password) in the server URL in Rust for myself. This works with Apps, but it is a bit too messy and single purpose for me to open source it right now. Maybe one day.

atzanteol@sh.itjust.works on 01 Apr 12:28 next collapse

Y’all are assuming the security issue is something exploitable without authentication or has something to do with auth.

But it it could be a supply chain issue which a VPN won’t protect you from.

maplesaga@lemmy.world on 01 Apr 14:19 next collapse

Utilize authelia perhaps?

yabbadabaddon@lemmy.zip on 01 Apr 15:20 collapse

Doesn’t work with TVs

AllHailTheSheep@sh.itjust.works on 01 Apr 18:01 collapse

ldap auth will work on tvs

AllHailTheSheep@sh.itjust.works on 01 Apr 18:00 collapse

or use the ldap auth plugin with your source of truth, put it behind a reverse proxy, protect it with fail2ban and anubis. there are ways of exposing it safely.

ohshit604@sh.itjust.works on 01 Apr 18:35 collapse

Do not rely on an OIDC/LDAP provider with Jellyfin, you cannot run these in front of your proxy otherwise Jellyfin applications will not be able to communicate with the server.

Blacklist all IP address and whitelist the known few, no need for Fail2Ban or a WAF.

AllHailTheSheep@sh.itjust.works on 01 Apr 18:54 collapse

you totally can use ldap or oidc it just requires more setup. you just ensure jellyfin and your source of truth talk on their own subnet, docker can manage it all for you. ldap can be setup to be ldaps with ssl and never even leave the docker subnet anyways.

and yes I suppose you could rely on whitelists, but you’d have to manually add to the whitelist for every user, and god forbid if someone is traveling.

GatekeeperOnTurdMountain@programming.dev on 01 Apr 09:48 next collapse

samba vlc solved… you are welcome

roserose56@lemmy.zip on 01 Apr 10:05 next collapse

Nope? how about fancy stuff GUI and plot?
IMDB on your phone I guess…

frongt@lemmy.zip on 01 Apr 11:48 collapse

Am I having a stroke?

Railcar8095@lemmy.world on 01 Apr 14:06 collapse

At the time off writing you made a few more comments, so either “no” or “yes but your life is Lemmy”.

psycotica0@lemmy.ca on 01 Apr 11:57 collapse

I know you’re gatekeeping from Turd Mountain, but just for completeness, the reason I use Jellyfin besides the “pretty for my wife” reason is that it keeps track of her progress between clients. She sometimes watches things on her laptop, sometimes her phone, sometimes her tablet, and sometimes the TV, and no matter which one she uses it’ll remember which episode of her show is the next episode. It also highlights when a new episode of something has been added and cues her to watch the new episode that just came out.

But yeah, if I was alone and only had a pile of anime I’d already seen before, which I only watched from my Linux devices, Samba and VLC would do me fine 😛

FauxLiving@lemmy.world on 01 Apr 18:48 collapse

But yeah, if I was alone and only had a pile of anime I’d already seen before, which I only watched from my Linux devices, Samba and VLC would do me fine 😛

Use NFS for your sanity. Linux samba/CIFS is annoying to deal with.

Also, mpv

Decronym@lemmy.decronym.xyz on 01 Apr 09:50 next collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
HTTP Hypertext Transfer Protocol, the Web
IP Internet Protocol
NFS Network File System, a Unix-based file-sharing protocol known for performance and efficiency
Plex Brand of media server package
VPN Virtual Private Network
nginx Popular HTTP server

5 acronyms in this thread; the most compressed thread commented on today has 12 acronyms.

[Thread #203 for this comm, first seen 1st Apr 2026, 09:50] [FAQ] [Full list] [Contact] [Source code]

webkitten@piefed.social on 01 Apr 09:53 next collapse

Pretty flawless update from the apt repo on my end.

Server version 10.11.7
roserose56@lemmy.zip on 01 Apr 10:04 next collapse

Im on fedora and I have installed through dnf, no updates with the dnf update… should I wait?

gigachad@piefed.social on 01 Apr 10:44 collapse

I depends a bit on your threat model. If you have Jellyfin exposed to the internet I would shut it down immediately. If you are running locally and rely on it, let it run maybe? If behind a tailnet or some other VPN, I would deactivate it as well. If it is an Axios like vulnerability it may be possible your secrets are in danger, dependent on how well they are secured. Not a security expert, but I would handle this a little more conservative…

somehacker@lemmy.world on 01 Apr 11:22 next collapse

No need to shut it down if it’s not exposed to the internet. Tailnet/VPN is fine.

If it’s a supply chain compromise shutting it down wouldn’t matter. The damage is already done.

roserose56@lemmy.zip on 01 Apr 11:31 collapse

It’s on my home, which is not 24/7 open. Will see check later.

ohulancutash@feddit.uk on 01 Apr 11:07 next collapse

If only 10.11 were usable for me at all.

Lemmchen@feddit.org on 01 Apr 12:26 next collapse

What’s the issue?

Mubelotix@jlai.lu on 01 Apr 15:08 next collapse

There was a regression that caused Jellyfin to be a LOT more restrictive regarding the structured filesystem format. But this could be something else

Edit: Maintainers told me they were gonna fix it

entropicdrift@lemmy.sdf.org on 01 Apr 16:27 collapse

It’s probably database performance related. There’s a massive PR undergoing round after round of reviews that, when merged, will be a change to 10.12 and will resolve all of the new database performance issues experienced in certain edge cases (book libraries, large music libraries, large collections, etc)

Ruthalas@infosec.pub on 01 Apr 16:23 collapse

In addition to the other comment, it currently has some pretty rough performance issues with big libraries.

HereIAm@lemmy.world on 01 Apr 17:54 collapse

Yeah this is unfortunate news for me as well. I have a primary container I use for videos, and then a 10.10 server for music. 10.11 is borderline unusable for music for me, and I’ve tried everything for rescanning to completely redoing the server set up (rip accidentally deleting all my music playlists).

But i shall kill off the 10.10 container and hope a performance fix is in the works.

lmr0x61@lemmy.ml on 01 Apr 12:40 next collapse

The update rolled out perfectly for my Kubernetes setup (using the Docker image). 👍

catlover@sh.itjust.works on 01 Apr 14:21 next collapse

I forgot that it’s April first, and was wondering what catasthropic event had happend in order that it had to be stated in the title that its not a joke

clif@lemmy.world on 01 Apr 16:06 next collapse

Thank you for posting this. I tend to get a lot of my opensource project info from Lemmy so people who take the time to post it are awesome.

Just updated my home instance. Can confirm that 10.11.7 is available in the Debian repos and the update went perfect. I got a new kernel in the same update : D

Diurnambule@jlai.lu on 01 Apr 16:07 next collapse

Just updated, thanks for the info <3

Evotech@lemmy.world on 01 Apr 16:40 next collapse

That changelog just screams AI lol. All the emojis

irmadlad@lemmy.world on 01 Apr 17:31 next collapse

No worries. We’ve been communicating with pictures since ancient cave men scrawled pictographs on cave walls with a piece of burnt firewood.

greyscale@lemmy.grey.ooo on 01 Apr 17:33 next collapse

Three. Three emojis, used in headings as a bullet point.

It is perfectly plausable for someone whos job is to write technical documentation and promotional material would punch it up with a couple 'mojis.

github.com/jellyfin/jellyfin/releases

Every single release uses the same format with the same 3 emojis. You’d know that if you’d clicked “releases” and had even a modicum of curiosity.

Electricd@lemmybefree.net on 01 Apr 17:42 collapse

It isn’t, not that I would care anyways

Wispy2891@lemmy.world on 01 Apr 16:56 next collapse

Thanks for this post, i would have updated mine next semester…

AllHailTheSheep@sh.itjust.works on 01 Apr 17:59 next collapse

thanks for posting this!

psoul@lemmy.world on 01 Apr 18:00 collapse

Is it standard practice to release the security updates on GitHub?

I am a very amateur self hoster and wouldn’t go on the github of projects on my own unless I wanted to read the “read me” for install instructions. I am realizing that I got aware I needed to update my Jellyfin container ASAP only thanks to this post. I would have never checked the GitHub.

Cyber@feddit.uk on 01 Apr 18:06 next collapse

Not really.

Depending on how you install things, the package maintainers usually deal with this, so your next apt update / pacman -Syuv or … whatever Fedora does… would capture it.

If you’ve installed this as a container… dunno… whatever the container update process is (I don’t use them)

psoul@lemmy.world on 01 Apr 18:59 collapse

I indeed use a container. Wasn’t familiar with the update process for containers but now know how to do it.

ShortN0te@lemmy.ml on 01 Apr 18:51 next collapse

Is it standard practice to release the security updates on GitHub?

Yes.

And then the maintainers of the package on the package repository you use will release the patch there. Completely standard operation.

I recommend younto read up on package repositories on Linux and package maintainers etc.

irmadlad@lemmy.world on 01 Apr 19:24 collapse

I am realizing that I got aware

I don’t run the arr stack, but this is key. You really should do your due diligence before you update anything. Personally, I wait unless it’s a security issue, and use all the early adopters as beta testers.