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…

  • Scary le Poo@beehaw.orgOP
    link
    fedilink
    arrow-up
    24
    ·
    edit-2
    3 days ago

    The last set of comments is from 2024. These have not been addressed. The fact that it is possible to stream without auth is just bonkers.

    The entirity of jellyfin security is security via obscurity which is zero security at all.

    “As a cybersec researcher”, the limp wristed, hand wavy approach to security should be sending up alarm bells. The fact that it doesn’t, means that likely either, you don’t take your research very seriously, or you aren’t a “cybersecurity researcher”.

    “Thank you for this list. We are aware of quite a few, but for reasons of backwards compatibility they’ve never been fixed. We’d definitely like to but doing so in a non-disruptive way is the hard part.”

    Is truly one of the statements of all time.

    • bizarroland@fedia.io
      link
      fedilink
      arrow-up
      10
      ·
      3 days ago

      You can’t say that a solution is no security at all when it requires time and intelligence to bypass.

      It is at least 0.01 security.

      • whats_all_this_then@programming.dev
        link
        fedilink
        arrow-up
        6
        ·
        3 days ago

        Effort or no, if an attacker can reasonably bypass it, it’s not secure. That’s why software gets security patches all the time, why encryption/hashing algorithms can fall out of favor, and why quantum computing can be pretty fucking scary.

    • Link@rentadrunk.org
      link
      fedilink
      arrow-up
      9
      ·
      3 days ago

      How is someone meant to guess what seems to be a randomly generated id? If they try to brute force it then you could probably set up something like fail2ban to block them after a few failed attempts.

      I’m not saying video ids shouldn’t require authentication, they should but the risk of someone getting the video id seems fairly low.

      • Scary le Poo@beehaw.orgOP
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        3 days ago

        It isn’t randomly generated. If you read through you would have known that.

        Also, Rainbow tables.

        tldr, Rainbow tables are precomputed lists of hashed values used to crack password hashes quickly. Instead of hashing each password guess on the fly, attackers use these tables to reverse hashes and find the original passwords faster, especially for weak or common ones. They’re less effective against hashes protected by a unique salt.

        • i_am_not_a_robot@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          15
          ·
          3 days ago

          If the ID is the MD5 of the path, rainbow tables are completely useless. You don’t have the hash. You need to derive the hash by guessing the path to an existing file, for each file.

          • Clent@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            2
            ·
            3 days ago

            How unique do you suppose file system paths are?

            How many hashes would one need to gather to quickly determine the root path for all files? Paths are not random so guessing the path is just a rainbow table.

            The scanning for known releases becomes trivial once the file system pattern is known.

            • i_am_not_a_robot@discuss.tchncs.de
              link
              fedilink
              English
              arrow-up
              3
              ·
              2 days ago

              If the server is using a standard path prefix and a standard file layout and is using standard file names it isn’t that difficult to find the location of a media file and then from there it would be easier to find bore files, assuming the paths are consistent.

              But even for low entropy strings, long strings are difficult to brute force, and rainbow tables are useless for this use case.