Consider pausing use of XZ, LZMA and 7z until the fallout settles

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37511
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by Moonchild » 2024-04-13, 16:30

athenian200 wrote:
2024-04-13, 15:41
So it seems that 7zip has existed longer than xz-utils
Yes it has. 7-zip is what put LZMA on the map. eventually Igor open-sourced 7-zip and that's when FOSS implementations of it took off, including XZ. At least that's my understanding of it, and I've used 7-zip since the beginning; pretty sure xz wasn't at all a thing back then.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

vannilla
Moon Magic practitioner
Moon Magic practitioner
Posts: 2387
Joined: 2018-05-05, 13:29

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by vannilla » 2024-04-13, 22:29

xz's "mainstream" use is actually fairly recent.
I don't know when xz's implementation of LZMA became a systemd dependency (i.e. the target of the attack), but until ten years ago or something very few people actually used xz for compression.
It gained traction because it is legitimately good, but until then it was mostly a niche tool; the library might have had the same fate.

User avatar
Bilbo47
Lunatic
Lunatic
Posts: 327
Joined: 2017-11-18, 04:24

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by Bilbo47 » 2024-04-23, 22:07

I also got details on how the backdoor exploit worked. On Linux, systemd was mentioned above. Could this particular exploit chain have been possible on Linuxen without systemd? As in, is the systemd hook an example of what the so-called naysayers got worried about back when the push was made to switch all the distros to systemd as a replacement for the previous design for an OS supervisor?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37511
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by Moonchild » 2024-04-23, 23:27

As far as I understood the library hijack could be done on any system that uses a run-time linker to tie together binaries and their libs, since the hijack is done through that linker to point to the malicious RSA functions instead of the actual ones. I'm not sure if that's systemd specific or not; it may be a general ELF thing. My knowledge of Linux binaries falls a bit short here, but I wanted to relay at least that bit.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
ron_1
Moon Magic practitioner
Moon Magic practitioner
Posts: 2987
Joined: 2012-06-28, 01:20

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by ron_1 » 2024-04-23, 23:51

I'm certainly no expert, but I've been told on another forum that this attack (generally speaking, I think) could have happened without it being linked to systemd. To which I replied, that may be so, but this particular attack wasn't; it was tied to systemd. Since most distros (why?) have switched to the systemd init system, I believe we can expect more attempts at malware via systemd weaknesses.

So in the end I believe my decision to avoid systemd was prudent. That's just my non-expert .02¢ worth.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37511
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by Moonchild » 2024-04-24, 00:30

Off-topic:
ron_1 wrote:
2024-04-23, 23:51
That's just my non-expert .02¢ worth.
You do realize that that's not 2 cents, right? ;-)
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
RealityRipple
Keeps coming back
Keeps coming back
Posts: 853
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by RealityRipple » 2024-04-24, 00:42

Off-topic:
oh god, the Verizon nightmare begins again...

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37511
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by Moonchild » 2024-04-24, 11:25

It's already been assessed. There is no uncertainty about the situation - it's been clearly analysed and there has not been more fallout than a word of caution about Open Source development and auditing of code changes.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
ron_1
Moon Magic practitioner
Moon Magic practitioner
Posts: 2987
Joined: 2012-06-28, 01:20

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by ron_1 » 2024-04-24, 13:28

Off-topic:
Moonchild wrote:
2024-04-24, 00:30
You do realize that that's not 2 cents, right? ;-)
Okay, 2¢. :)

jb_wisemo
Moonbather
Moonbather
Posts: 67
Joined: 2016-01-27, 02:09

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by jb_wisemo » 2024-06-11, 18:30

Yes, I know that 7-zip is older than liblzma, indeed, the 7-zip dev invented the LZMA compression method and made it available to others, then the liblzma project forked it to provide a standalone compression library and gzip-like file format.

My concern when I started this thread was that the person (who had gained trust in the liblzma project to insert the back door) might in some way have done the same for 7-zip itself by doing similar social engineering on the 7-zip dev.

At the time, the liblzma main dev had not yet published his post-mortem document about the attack ( https://tukaani.org/xz-backdoor/ ) The writeups now on tukaani.org seem very clear about how the liblzma backdoor was limited to a few places in the project source code, however this says nothing about what the devil behind the "Jia" alias may have done to other projects such as 7-Zip. The 7-Zip web page is completely silent about what happened to liblzma, but does seem to have imported some features from the liblzma project shortly before the backdoor was discovered, though hopefully not anything actually backdoored.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37511
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by Moonchild » 2024-06-11, 21:07

jb_wisemo wrote:
2024-06-11, 18:30
The 7-Zip web page is completely silent about what happened to liblzma
That is because none of the actual lzma code was compromised. If you're read the write-ups about it you would have seen that this was a cleverly disguised supply chain hack, not actually even specific to LZMA (aside from it being a lib that is very widely used). Since there was no compromise in the actual lzma/7-zip code, there's nothing to state or clarify. I'm pretty sure Igor would have noticed any backdoors being cherry-picked.
But maybe you didn't fully understand the writeups? Maybe you want to re-read them.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

jb_wisemo
Moonbather
Moonbather
Posts: 67
Joined: 2016-01-27, 02:09

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by jb_wisemo » 2024-07-09, 16:01

I fully understood the write-ups and the tactics used to gain trusted commit access to the liblzma repository and download page. While I don't expect the 7z creator to blindly cherry pick the compromised build scripts and faux test files used in the specific attack, this doesn't rule out that the bad actor (using a different fake identity) might have gained similar access to the 7z project, since they seem to have the specific experience needed to contribute plausible changes to lzma-based code, such as the good changes that were accepted and later verified by the liblzma project.

I also note that the 7z project has a weaker security stance than other public projects, such as not signing their releases etc.

(Note: Not using the names of the people as this isn't meant to be a personal attack against anyone, just a call for caution given the recent actual attack against related code).

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37511
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Consider pausing use of XZ, LZMA and 7z until the fallout settles

Unread post by Moonchild » 2024-07-09, 16:26

If you're that worried about these kinds of attacks then you really shouldn't be using any FOSS that has an open collaboration mentality, because anyone could try and do this kind of thing anywhere. It's up to individual project administrations to vet submitted code/commits; that's always been the case.
If you want to be safe from even the possibility of committed code being compromised, then you should only be using fully proprietary (without FOSS dependencies) or at least double-vetted code, or check the source of every piece of software yourself and build everything yourself afterwards.

You can make it as difficult for yourself as you want.

However, I'm not letting that determine for us whether we'd be crippling our release engineering.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite