I noticed Debian does this by default and Arch wiki recommends is citing improved security and upstream.

I don’t get why that’s more secure. Is this assuming torrents might be infected and aims to limit what a virus may access to the dedicated user’s home directory (/var/lib/transmission-daemon on Debian)?

  • CasualTee@beehaw.org
    link
    fedilink
    arrow-up
    4
    ·
    4 hours ago

    It’s not directly related to the torrent or its content no. It’s more related to the potential bugs in Transmission that might be exploited to propagate viruses.

    Since Transmission has to exchange data with un-trusted parties, before knowing whether the data is relevant to the torrent you are downloading, anyone could exploit bugs that exist in the parsing of these messages.

    So running Transmission as a dedicated user limits what an attacker may have access to once they take control of Transmission through the exploit of known or unknown bugs.

    Obviously, this user need to have many restriction in place as to prevent the attacker from installing malware permanently on the machine. And when you copy over data that has been downloaded by Transmission, you’d have to make sure it has not been tampered with by the attacker in an attempt to get access to the data available to your real account.

    If you just use transmission occasionally, not on a server, I would not bother with it. Either use the flatpak version for some sandboxing and similar security guarantees as having a dedicated user running Transmission, or use an up to date version (the one from your distro should be fine) and don’t leave it running when you do not need to.

  • mik@sh.itjust.works
    link
    fedilink
    arrow-up
    10
    ·
    edit-2
    17 hours ago

    It helps protect you because if the application in question is compromised in any way (or has a flaw, i.e. an accidental rm -rf /*), the only access it has is limited to the user it is run as. If it is run as root, it has full administrative privilege.

    • Quail4789@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      17 hours ago

      Isn’t that a risk for anything downloaded, assuming I run transmission as my user, not root?

        • Quail4789@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          16 hours ago

          My user is, yes. But there has to be an exploit in sudo for the program to elevate itself using it without the user knowing, no? It’s possible for sure but I’m seeing this type of a precaution on a torrent client for the first time.

          • BaumGeist@lemmy.ml
            link
            fedilink
            arrow-up
            6
            ·
            14 hours ago

            The point of security isn’t just protecting yourself from the threats you’re aware of. Maybe there’s a compromise in your distro’s password hashing, maybe your password sucks, maybe there’s a kernel compromise. Maybe the torrent client isn’t a direct route to root, but one step in a convoluted chain of attack. Maybe there are “zero days” that are only called such because the clear web hasn’t been made aware yet, but they’re floating around on the dark web already. Maybe your passwords get leaked by a flaw in Lemmy’s security.

            You don’t know how much you don’t know, so you should be implementing as much good security practices as you can. It’s called the “Swiss Cheese” model of security: you layer enough so that the holes in one layer are blocked by a different layer.

            Plus, keeping strong security measures in place for something that’s almost always internet connected is a good idea regardless of how cautious you think you’re being. It’s why modern web-browsers are basically their own VM inside your pc anymore, and it’s why torrent clients shouldn’t have access to anything besides the download/upload folders and whatever minimal set of network perms they need.

            • nanook@friendica.eskimo.com
              link
              fedilink
              arrow-up
              1
              ·
              14 hours ago

              @BaumGeist @Quail4789 If you get software from an untrusted source, and it does not matter if it’s a torrent, ftp, https, scp, etc, you run this risk. And usually when you download with a torrent the supplying site will publish a hash which you can compare to make sure that it wasn’t corrupted in transit.

          • nanook@friendica.eskimo.com
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            15 hours ago

            @Quail4789 @[email protected] just.works there is not a known exploit in sudo but there IS a known exploit in the library it uses to elevate privileges, at least in older versions. Also I make full system weekly backups so worst comes to worst I’m never going to lose more than a weeks data.

      • bad_news
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        16 hours ago

        It’s more the situation where the torrent/magnet string itself (or some peer connection) has some clever hack that exploits a bug in Transmission, allowing it to execute arbitrary code AS transmission. I’m skeptical there’s a big risk of that, but the security theater kids LOVE sand boxing these days

        • mik@sh.itjust.works
          link
          fedilink
          arrow-up
          5
          ·
          16 hours ago

          It may be mostly “security theater” but it requires almost no extra effort and drastically increases the difficulty of compromise by adding privilege escalation as another requirement to gaining root access.

        • Quail4789@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          16 hours ago

          Has there ever been such an exploit? Given all other torrent clients I’ve seen just run as your user by default, is there something different in transmission over others that make it more vulnerable?

          • loutr@sh.itjust.works
            link
            fedilink
            arrow-up
            4
            ·
            15 hours ago

            The point is also to minimize potential damages caused by a bug in the software. Just this year there have been multiple data-destroying bugs in publicly released software. If the app runs as a server it’s usually trivial to have it run as a dedicated user, with just enough permissions to do its job.

            It’s just good practice, even though the risks might be low why risk it at all?

          • Fonzie!@ttrpg.network
            link
            fedilink
            arrow-up
            1
            ·
            10 hours ago

            Not yet, but if every system was only protected against what already happened instead of also what could happen, we’d get hacked a lot more often!

          • bad_news
            link
            fedilink
            arrow-up
            2
            ·
            15 hours ago

            Not of which I’m aware. Transmission is more intended to run on a server though. You certainly can just run the local GUI, but it can run as a daemon on a server and then you can use a web interface or app, so its working more on a server v user app paradigm (Everything on a modern server like that is gonna run as its own user)

    • Tobias Hunger@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      9 hours ago

      Not only that: It protects your data. The Unix security model is unfortunately stuck in the 1970s: It protects users from each other. That is a wonderful property, but in todays world you also need to protect the users from the applications they are running: Anything running as your user has access to all your data. And on most computer systems the interesting data is the one the users out there: Cryptogrqphic keys, login information, financial information, … . Typically users are much more upset to loose their data than about some virus infecting the OS files, those are trivial to fix.

      Running anything as anlther user stops that application from having access to most of your data.