My mastodon feed is full of IT security specialist talking about the xz affair where someone let a backdoor in some library.

But beside showing the two side of Free/Libre software (anybody can add a backdoor, and anybody can spot it), I have no idea how it impacts the average person. Is it a common library or something used only by specific application ? Would my home-grade router protects me ?

  • @sneakyninjapants
    link
    51
    edit-2
    2 months ago

    How does the xz incident impacts the average user ?

    It doesn’t.

    Average person:

    • not running Debian sid, Fedora nightly, Arch, OpenSUSE Tumbleweed, or tbh any flavour of Linux. (Arch reportedly unafffected)
    • ssh service not exposed publicly

    The malicious code was discovered within a day or two a month of upload iirc and presumably very few people were affected by this. There’s more to it but it’s technical and not directly relevant to your question.

    For the average person it has no practical impact. For those involved with or interested in software supply chain security, it’s a big deal.

    Edit:
    Corrections:

    • OpenSUSE Tumbleweed was affected; Arch received malicious package but due to how it is implemented did not result in compromised SSH service.
    • Affected package was out in the wild for about a month, suggesting many more affected systems before malicious package was discovered and rolled back.
    • @[email protected]
      link
      fedilink
      52 months ago

      Not just a day, a full month the backdoor was available. On the Arch Repo, v5.6.0 was uploaded on February 24th. Will be similar to other repos.

    • @[email protected]
      link
      fedilink
      42 months ago

      I don’t even understand what anyone in this thread is saying.

      That’s not an invitation, please don’t explain Linux to me.

      I’m just saying this means nothing for average people.

      • @[email protected]
        link
        fedilink
        8
        edit-2
        2 months ago

        It could have meant a lot to the average person if it wasn’t caught. If this was some adversary, they could have used it to cripple critical infrastructure in the largest cyber attack in history.

        Luckily it was caught before this software was rolled out to really anything that should be in prod.

        • @[email protected]
          link
          fedilink
          32 months ago

          Isn’t that this Windows imitation I sometimes hear about?

          (I have a death wish I guess)

          But on a serious side: I need an easy to use Linux system next year for my parents who are not very tech savvy. Do you have a recommendation for easy use that feels like Windows? It will only be used for browsing, open office and stuff.

      • @sneakyninjapants
        link
        12 months ago

        I’m just saying this means nothing for average people.

        Then we agree

      • @[email protected]
        link
        fedilink
        -82 months ago

        It actually means a lot for average people. Only because you are not able to comprehend some things, does not mean you are not affected by it. But feel free to keep on using Windows XP.

    • qaz
      link
      fedilink
      32 months ago

      You forgot about OpenSUSE Tumbleweed, it also shipped the infected package. I had to update to a newer non-infected version of xz.

      • @sneakyninjapants
        link
        12 months ago

        I’m almost certain it has no effect on wireguard or openvpn if that’s what you’re asking.

  • @[email protected]
    link
    fedilink
    222 months ago

    Quick summary:

    • only impacts Debian and Linux distributions that utilize RPM for packages
    • only impacts cases where liblzma is compiled from a tarball, rather than cloned source repository or precompiled binary
    • only impacts x64 architecture
    • introduced in liblzma 5.6.0 which was released in late February so only impacts installs receiving updates to liblzma since then

    liblzma is a library for the lzma compression format. Loosely, this means it’s used by various other pieces of software that need this type of compression, rather than being an application itself.

    It is very widely used. It comes installed on most major Linux distributions and is used by software like openssh, one of the standard remote connection packages.

    However, since it was only in the tarball, you wouldn’t see it widely until debian, fedora, et al release a new version that includes the latest liblzma updates. This version hadn’t been added to any of the stable release channels yet, so the typical user wouldn’t have gotten it yet.

    I believe this would have gone out in debian 12.6 next week, and the attacker was actively petitioning fedora maintainers to get it added to fedora 40 & 41

    The interesting thing about this situation was how much effort the attacker put in to gain trust just to get to the point where they could do this, and how targeted the vulnerability seems to have been. They tried very hard to reduce the likelihood of being caught by only hitting a limited set of configurations

    • @[email protected]
      link
      fedilink
      12 months ago

      I’m still confused exactly what the circumstances would be where this worked as the attacker intended. Would simply having the infected liblzma version on the system create the vulnerability or does something have to happen to invoke it and then what? What’s he chain of events that would have happened had this worked perfectly and gone undetected? I tried to read some of the more detailed analysis but the stuff went way over my head.

      Also, what about Mac OS? Can the package create any vulnerability there if installed via homebrew as it’s reported to have done in some cases? Or is that environment also not right for it to work?

      • @[email protected]
        link
        fedilink
        3
        edit-2
        2 months ago

        Here’s how it was intended to work:

        • debian, fedora, or another RPM-based distribution updates references to liblzma to 5.6.x in their latest release
        • the package repository is updated (usually through automation) by getting the infected tarball and compiling it into an RPM or DEB which is added to the repo
        • if the package is built using glibc and the gnu linker, and for a system that uses systemd, the exploit is enabled during compilation of the x86-64 version of the package; otherwise the result is normal
        • when an application is installed that depends on liblzma, possibly during OS installation itself, the infected RPM/DEB package from the package repository is downloaded and installed (assuming the system matches the requirements above)
        • in this particular case, OpenSSH was the primary target; if the attacker wanted to, it could have targeted any web-facing service that uses liblzma such as OpenSSL + Apache/nginx, etc
        • when the OpenSSH server is started on an infected system, it loads the infected liblzma binary
        • the attacker starts an SSH connection to the infected server, having already known about the server or by scanning the internet for visible ssh servers
        • during creation of the SSH connection, the user has the option of trying to sign in using an RSA key. The attacker uses a specially formed RSA key only available to the attacker that also contains a chunk of code (the “payload”) that they want executed on the server
        • liblzma is utilized to compress data in transit; when the infected liblzma decompresses the RSA key on the server, the exploit recognizes the attacker’s special RSA key and executes the payload on the host system. Otherwise, the ssh session continues as normal

        This would not impact MacOS because you couldnt install the infected package, since it is only ever built for debian or RPM-based systems running systemd, using glibc and the gnu linker, and for x86-64. Unless I’m misunderstanding something, there is no way to get the compiled binaries that are infected to work on a MacOS system

        Additionally, I should note that I’m not exactly an expert on this stuff; I’m just in the security space and have been reading about this as it happens, so it’s possible there are errors in my understanding. But that should at least give you the gist of the attack

        • @[email protected]
          link
          fedilink
          12 months ago

          Thank you! I believe this is what the OP was asking, and it’s definitely what I wanted to know :)

          Do we know what the payload is?

          • @[email protected]
            link
            fedilink
            1
            edit-2
            2 months ago

            Arbitrary. It could be whatever they wanted at any time. This was a full on remote code execution (RCE) exploit. And baking it into an RSA key is pretty novel

            And you’re welcome :)

  • @[email protected]
    link
    fedilink
    English
    182 months ago

    only someone running arch or debian sid or an bleeding edge rolling release on an internet exposed ssh port. the idea of that configuration would sound ludicrous. even so we should be building off git repos not tar balls.

    the weird part this situation has made me feel safer. the amount of work that went into social engineering this and it only lasted a month tops for people that run distros that would just not be or should not be used as an exposed server ever.

    it shows open source works. This is more embarrassing than anything and we deserve it. We need to pay core library devs and have a mechanism that core libraries can be handed off to a trusted org.while another upstream maintainer can be found or the project shut down and other projects move away from the un maintained project. When the person maintaining the project gets burned out or has other issues.

    • Glitchington
      link
      fedilink
      102 months ago

      From the archlinux.org news post on the issue.

      Arch does not directly link openssh to liblzma, and thus this attack vector is not possible.

      • @[email protected]
        link
        fedilink
        English
        22 months ago

        oh 100% i was just taking in general of upstream bleeding edge distro being vulnerable to this kind of upstream attack not specific to xz

      • @[email protected]
        link
        fedilink
        42 months ago

        Because Arch was one of the distros that distributed the backdoored xz package, though they claim no vulnerability to due to their implementation.

          • @[email protected]
            link
            fedilink
            -72 months ago

            Bruh ask Google the question instead of making a stranger figure it out for you. If you want an answer typed up for you go ask a LLM.

            • @[email protected]
              link
              fedilink
              4
              edit-2
              2 months ago

              I already knew the answer. arch was not affected. hence why i asmed why it kept being mentioned.

              I wasn’t asking if arch was affected. I was asking why you keep regurgitating this clearly wrong information (if you bothered to google it, of course)

              So no, google could not have answered my question. And if you do use llms for answers, I feel sorry for you

              • Pika
                link
                English
                3
                edit-2
                2 months ago

                I’m not sure I agree with that, Arch 100% should continue to be mentioned. Just because the Trojan didn’t launch due to the fact that Arch’s environment didn’t meet its criteria, doesn’t mean you should keep a known malicious package on your system.

                People keep preaching to the heavens that Arch was not affected by it, but they don’t always state that Arch was infected by it, it just never binds the library to SSHD like Debian systems do (for systemd notifications) so the attack vector is never made.

                The arch Wiki official statement on it is that you should remove the malicious package and do a full system update. Which should be common sense, but people have to be aware that the system is infected by it in order to know that they have to remove it. A process that if Arch was never mentioned as being involved users wouldn’t think to do

  • @[email protected]
    link
    fedilink
    172 months ago

    For exploits like this, most of the risk is in services you use. Websites, power company customer database, etc. are at risk of customer data dumps leaking.

    Be extra alert for targeted scams and phishing, i.e. Phil from HBO Max customer department calling and asking to correct your payment details and he sounds very convincing because he knows your username, viewing history, etc.

    And be extra fast with installing any security updates on all your stuff.

  • slazer2au
    link
    fedilink
    English
    152 months ago

    The average user? Likely doesn’t. the package is for Linux, so that removes any windows users.

    The version was only on “bleeding edge” releases, so if you are on a lts release you will likely be ok.

  • @[email protected]
    link
    fedilink
    82 months ago

    I’m one of those security specialists (although not on mastodon). To be clear, if a vulnerable version of libxz were included in a distribution that we actually use; this would be an all hands on deck, drop everything until it is fixed emergency.

    Having said that, for an average user, it probably doesn’t matter. First, many users just don’t have the vulnerable version installed. All things considered, it was found very quickly; so only rolling release distros would have it. Additionally, it appears that only .deb or .rpm based distributions would have it. Not because they are particularly vulnerable, the attack explicitly tests for it.

    However, lets set all of this asside and assume a typical use is running a vulnerable system. In my assessment, the risk to them is still quite low. With most vulnerabilities, the hard part is discovering it. Once that happens, the barrier to exploiting it is relatively low, so you get a bunch of unrelated hackers trying to exploit any system they can find. This case is different; exploiting it requires the attackers private key. Even though the attack is now widely known, there is still only 1 organization capable of using it.

    Further, this attack was sophisticated. I’m not going to go as far as others in saying that only a state actor could do it. However, it is hard to think of anyone other than a state actor who would do it. Maybe a group of college kids doing it for the lolz research? But, if the motivation us lolz, I don’t see them pivoting to do anything damaging with it. And even if they wanted to, there would still only be a handful of them. In short, this is one of those cases where obscurity works. Whoever did this attack does not know or care about Joe the Linux user; and they were probably never going to risk burning it by exploiting it on a large scale.

    However, setting all of that asside, suppose you were using vulnerable software, and someone with the private key is interested in your home system. First, you would need to be running OpenSSH on a remotely accessible interface. [0]. Second, you would need your firewall to allow remote SSH traffic. Third, you would need your router to have port forwarding enabled; and explicitly configured to forward traffic to your OpenSSH server [1].

    If all of that happens; then yes, you would be at risk.

    [0] Even though the attack itself is in the libxz library, it appears to specifically target OpenSSH.

    [1] Or, the attacker would need some other mechanism to get on the same network as you.

  • @[email protected]
    link
    fedilink
    32 months ago

    I don’t even have xz installed on my machine. Could anyone clue me in for what it is normally used?

    • @[email protected]
      link
      fedilink
      7
      edit-2
      2 months ago

      It’s a library/tool for a specific type of compression. You may have seen .tar.xz files.