Well-known member
  • Oct 9, 2008


    The Tenable Security Response Team has put together this blog to answer Frequently Asked Questions (FAQ) regarding CVE-2024-3094, a backdoor in XZ Utils, a widely used compression library found in multiple Linux distributions.


    What is XZ Utils and what is the library used for?

    XZ is a type of lossless data compression on Unix-like operating systems, which is often compared to other common data compression formats such as gzip and bzip2. XZ Utils is a command line tool that contains functionality for both compression and decompression of XZ files and liblzma, a zlib-like API used for data compression and also supports the legacy .lzma format.

    How was this backdoor discovered?

    On March 29, Andres Freund, a PostgreSQL developer at Microsoft, posted on the Open Source Security Mailing List that he had discovered a supply-chain compromise involving obfuscated malicious code in the XZ package while investigating SSH performance issues. According to both Freund and RedHat, the malicious code is not present in the Git distribution for XZ and only in the full download package.

    Which versions of the library are affected?

    According to Freund, XZ Utils versions 5.6.0 and 5.6.1 are impacted.

    Has this backdoor code been exploited?

    No information regarding exploitation has been observed for this backdoor code as of March 29. Because this situation is still developing, we anticipate more information will come to light in the coming days and weeks. We will update this portion of the FAQ once such information is available.

    What is the impact of this backdoor?

    According to Red Hat, the malicious code modifies functions within the liblzma code, which is part of the XZ Utils package. This modified code can then be used by any software linked to the XZ library and allow for the interception and modification of data used with the library. In the example observed by Freund, under certain conditions, this backdoor could allow a malicious actor to “break sshd authentication,” allowing the attacker to gain access to an affected system.

    Is there a CVE assigned for this issue?

    Yes, Red Hat assigned CVE-2024-3094 for this issue and it has been given a CVSSv3 score of 10.0.

    How was this backdoor inserted into the code?

    At the time this blog was published, it’s unclear how this backdoor code was placed into the affected builds of XZ utils. According to Freund, it's likely the individual who made the code commits is directly involved with the XZ project or had their system or developer account compromised.

    What Linux distributions are affected?

    As of the time this blog was published on March 29, the following distributions are known to be affected:

    OSPackage namePackage version(s)Fix package versionReference
    Fedora 40, Rawhidexz5.6.0, 5.6.1Revert to 5.4.xDetails
    Debian unstable (Sid)xz-utils5.6.1Revert to 5.4.5Details
    Alpine edgexz5.6.1-r2Revert to 5.4.xDetails
    Arch Linuxxz5.6.0-1, 5.6.1-1Upgrade to 5.6.1-2Details
    openSUSE Tumbleweed
    openSUSE MicroOS
    xz5.6.0Revert to 5.4.xDetails
    Additionally, the macOS Homebrew package manager reverted its version of xz from 5.6.x to 5.4.6. Bo Anderson, a member of the technical steering committee and a maintainer of Homebrew, confirmed that they do not believe Homebrew’s builds “were compromised” but because these versions of xz are not considered trustworthy, they have chosen to force downgrades “as a precaution.”

    As this is a developing situation, we anticipate we will have further clarity for additional Linux distributions soon and will continue to update this blog as necessary.

    Are patches or mitigations available?

    Both developers and users of XZ Utils are advised to downgrade to known, unaffected versions of XZ Utils, such as 5.4.6 Stable. However, in addition to downgrading, it is strongly advised that developers and users conduct incident response to determine if they have been impacted as a result of this backdoor and to share “positive findings” with agencies like the Cybersecurity and Infrastructure Security Agency (CISA). You can check your installed version by running the command ‘xz -V’ or ‘xz –version’.

    Example command line output to check which versions of XZ Utils and liblzma are installed.

    Has Tenable released any product coverage for these vulnerabilities?

    As of March 29, Tenable Research is investigating product coverage. A list of Tenable plugins for this vulnerability can be found on the individual CVE page for CVE-2024-3094 as they’re released. This link will display all available plugins for this vulnerability, including upcoming plugins in our Plugins Pipeline.
    • Love
    Reactions: ivn