Linhagem do fabricante
XZ Utils - the supply chain with no supplier
A two-year campaign against a burnt-out volunteer maintainer, caught by one engineer who noticed half a second of latency.
XZ Utils is a widely used open source compression library whose 2024 releases briefly carried a backdoor, inserted after a multi-year campaign to gain maintainer access.
XZ Utils is a compression library, unglamorous and everywhere: nearly thirty thousand Debian and Ubuntu packages depended on it. In February and March 2024 two of its releases carried a backdoor that would have allowed anyone holding a particular private key to run commands on affected machines through OpenSSH. It was caught weeks before it reached the stable releases of the major distributions.
The attack began around 2021 and it targeted a person rather than a system. An account contributing under the name Jia Tan built up genuine technical credibility over two years. Meanwhile other accounts appeared on the project's mailing lists complaining that the maintainer was slow, that the project was neglected, that a co-maintainer was needed. The maintainer, a volunteer dealing with burnout, eventually granted commit access and then co-maintainer status. The vulnerability that was exploited was human exhaustion, and there is no technical control that addresses it.
The technical design deserves the same attention. The malicious code was never committed to the repository. It lived in the release tarball - the packaged archive that distributions actually build from - hidden in binary files presented as deliberately corrupt compression test cases, activated by obfuscated changes to a build script that ran only during a distribution-style package build and not from a clean checkout of the source. Anyone reviewing the code would have reviewed the wrong artefact. The gap between what is read and what is built is where this lived.
It was found because a Microsoft engineer benchmarking a database noticed that logging in over SSH was taking five hundred milliseconds instead of one hundred. Not a scanner, not a review board, not a security programme: half a second of unexplained latency, and somebody who chose to spend a few hours on it. The test and measurement article in this catalogue argues that the discipline's product is a number somebody would rather not hear. This is the case where the number was half a second and the somebody was a state-grade adversary.
For the taxonomy of supplier compromise this adds a fifth route to the four the Cisco entry sets out, and it is the one with no supplier in it. Nobody was paid, no contract was breached, no company could be sued or audited or excluded from a procurement list. The dependency was maintained by a volunteer, for free, because it needed to exist. That is the actual condition of a great deal of infrastructure, and the incident should be read less as a warning about one library than as a description of the arrangement everything else is built on.
- The backdoor in XZ Utils, CVE-2024-3094, was discovered on or before 27 March 2024 and disclosed on 29 March by Andres Freund; it gave an attacker holding a specific private key the ability to execute code remotely through OpenSSH on affected systems
- Timeline and mechanism: from around 2021 an account using the name Jia Tan began contributing, while sockpuppet accounts including Jigar Kumar and Dennis Ens pressured the original maintainer Lasse Collin on mailing lists about slow response times and pushed for a co-maintainer to be added; Collin, dealing with burnout and that pressure, granted commit access and eventually co-maintainer status. Version 5.6.0 shipped on 24 February 2024 with the backdoor hidden across binary test files disguised as corrupt compression test cases and obfuscated changes to an autoconf macro that activated only during a distribution-style package build, not from a clean git checkout
- The discovery: Andres Freund, a Microsoft principal engineer and PostgreSQL developer, was benchmarking PostgreSQL on Debian unstable when he noticed SSH logins taking about 500 milliseconds instead of the usual 100; he investigated, found errors pointing to liblzma, and traced the cause to malicious code present in the release tarballs but not in the version-controlled source
- Scale and assessment: XZ Utils was used by nearly 30,000 Debian and Ubuntu packages, making the compromise one of the most severe supply-chain incidents in the history of Linux distributions; analysis found the backdoor difficult to detect with conventional malware scanning because it was integrated into the build pipeline rather than into source code