this post was submitted on 01 Apr 2026
696 points (99.2% liked)

Selfhosted

56957 readers
760 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] r00ty@kbin.life 14 points 4 days ago (2 children)

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.

[–] chuso@fedia.io 7 points 4 days ago (1 children)

Yeah, the key seems to be in the comments from one of the changes: https://github.com/jellyfin/jellyfin/commit/0581cd661021752e5063e338c718f211c8929310#diff-bcc2125e56d5738b4778802ac650ca47719845aeee582f3b5c9b46af82ea9979R1176-R1180

It seems there was the potential risk that insufficient validation could allow reading arbitrary server files, which indeed poses a security risk.

However, my understanding is that this could be exploited only by authenticated users with permission to add new media. Not like that's a risk to ignore, but it's not like it could be exploited by anyone on the Internet.

[–] r00ty@kbin.life 5 points 4 days ago

However, my understanding is that this could be exploited only by authenticated users with permission to add new media. Not like that's a risk to ignore, but it's not like it could be exploited by anyone on the Internet.

I wonder if that's the reason for setting the default live TV management permission to false. Since that permission might well the the route to adding your own malicious m3u link for that second change.