The malicious changes were submitted by JiaT75, one of the two main xz Utils developers with years of contributions to the project.

“Given the activity over several weeks, the committer is either directly involved or there was some quite severe compromise of their system,” an official with distributor OpenWall wrote in an advisory. “Unfortunately the latter looks like the less likely explanation, given they communicated on various lists about the ‘fixes’” provided in recent updates. Those updates and fixes can be found here, here, here, and here.

On Thursday, someone using the developer’s name took to a developer site for Ubuntu to ask that the backdoored version 5.6.1 be incorporated into production versions because it fixed bugs that caused a tool known as Valgrind to malfunction.

“This could break build scripts and test pipelines that expect specific output from Valgrind in order to pass,” the person warned, from an account that was created the same day.

One of maintainers for Fedora said Friday that the same developer approached them in recent weeks to ask that Fedora 40, a beta release, incorporate one of the backdoored utility versions.

“We even worked with him to fix the valgrind issue (which it turns out now was caused by the backdoor he had added),” the Ubuntu maintainer said.

He has been part of the xz project for two years, adding all sorts of binary test files, and with this level of sophistication, we would be suspicious of even older versions of xz until proven otherwise.

  • Buelldozer@lemmy.today
    link
    fedilink
    English
    arrow-up
    89
    arrow-down
    1
    ·
    edit-2
    8 months ago

    Jia Tan, University of Hong Kong in China. He’s been the sole maintainer of the package for almost two years.

    • Dark Arc@social.packetloss.gg
      link
      fedilink
      English
      arrow-up
      86
      ·
      8 months ago

      Looks like he’d done a lot for various US companies on his LinkedIn.

      I would not be surprised if he was previously legit but pressured into doing this by the CCP.

      • Takios@feddit.de
        link
        fedilink
        English
        arrow-up
        29
        ·
        7 months ago

        Maybe he wasn’t sloppy by accident if he was indeed coerced by someone. I don’t think we’ll ever find out the backstory of this though.

        • anlumo@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          ·
          7 months ago

          I’ve watched a rundown of what the backdoor does. It’s impossible that this was an accident. It hides a compiled library in test data and injects that into the ssh binary to override code there.

          • ghterve@lemmy.world
            link
            fedilink
            English
            arrow-up
            10
            ·
            edit-2
            7 months ago

            They didn’t mean the backdoor was (or was not) an accident. They meant the backdoor was implemented sloppily enough to be discovered and maybe that was not an accident (as in, he wanted it to be found, but still wanted to plausibly be seen as trying his best to keep those coercing him appeased)

    • WhatAmLemmy@lemmy.world
      link
      fedilink
      English
      arrow-up
      32
      ·
      8 months ago

      It would make more sense to compromise developers in trusted positions, or steal their credentials, than going through the time and effort of building trusted users and projects only to burn them with easily spotted vulnerabilities.

      • jj4211@lemmy.world
        link
        fedilink
        English
        arrow-up
        15
        arrow-down
        1
        ·
        7 months ago

        This wasn’t easily spotted. They use words like sloppy, but it all started with someone digging in because starting ssh season was about a half second slower that it used to be. I could easily imagine 99.99% of people shrugging and deciding just something in the chain of session startup took a bit longer for a reason not worth digging into.

        Also, this was a maintainer that just started two years ago. xz is much older than that, just he took over.