eb,
@eb@social.coop avatar

Unfolding now: https://news.ycombinator.com/item?id=39865810

An incredibly technically complex in xz (potentially also in libarchive and elsewhere) was just discovered. This backdoor has been quietly implemented over years, with the assistance of a wide array of subtly interconnected accounts:

The timeline on this is going to take so long to unravel

eb,
@eb@social.coop avatar

https://boehs.org/node/everything-i-know-about-the-xz-backdoor

I have begun a post explaining this situation in a more detailed writeup. This is updating in realtime, and there is a lot still missing.

rugk,
@rugk@chaos.social avatar
eb,
@eb@social.coop avatar

@rugk that’s already noted, thanks for letting me know though :)

rugk,
@rugk@chaos.social avatar
eb,
@eb@social.coop avatar

@rugk yeah I’ve seen that floating around for a while and I just haven’t had an opportunity to fully understand the implications of it

eb,
@eb@social.coop avatar

Holy shit.

glyph,
@glyph@mastodon.social avatar

@eb I really hope that this causes an industry-wide reckoning with the common practice of letting your entire goddamn product rest on the shoulders of one overworked person having a slow mental health crisis without financially or operationally supporting them whatsoever. I want everyone who has an open source dependency to read this message https://www.mail-archive.com/xz-devel@tukaani.org/msg00567.html

luis_in_brief,
@luis_in_brief@social.coop avatar

@glyph @eb oooooooooooof.

olaf,

@glyph @eb
This is where I hope that XZ's maintainer has sufficient friends in the community to make sure he is OK.

I also agree with @glyph

eb,
@eb@social.coop avatar

@glyph currently adding iframe infrastructure to embed this toot into my site

eb,
@eb@social.coop avatar

@glyph it's done and it's great

glyph,
@glyph@mastodon.social avatar

@eb this looks phenomenal, is it open source? I miss embedding tweets and this looks even better than that did

glyph,
@glyph@mastodon.social avatar

@eb thank you for putting the actual, absolute date in there: https://mastodon.social/@glyph/111954118092835126

eb,
@eb@social.coop avatar

@glyph Yeah, Mastodon has it's own embeds but I wanted it to fit in with the site. It's DIY and very hastily banged together: https://github.com/boehs/site/commit/afd6a4c843fbf948b341b44d939693d07127fe62

diazona,
@diazona@techhub.social avatar

@eb @glyph Very cool! Any chance you might be willing to share that particular snippet - even just the HTML structure - under a less restrictive license than AGPL? It seems like the kind of thing I would love to use or adapt on my own site, but I don't want to (and probably legally can't) share my site and all the services it uses under that license.

eb,
@eb@social.coop avatar

@diazona @glyph sure. I've licensed this file under MIT

https://github.com/boehs/site/commit/613f79509322978f01e7de4f495fec9c0c6bf4db

if you use it commercially consider https://liberapay.com/e/ but obviously there is no legal obligation here

glyph,
@glyph@mastodon.social avatar

@eb "I never thought a sophisticated APT would backdoor my volunteer-maintained infrastructure that I got for free" sobs entire industry who voted for the "volunteer-maintained infrastructure that I get for free with no defense against sophisticated APTs" party

philpem,
@philpem@digipres.club avatar

@glyph @eb gee what a shame they didn't - hang on, I need to check my notes - "pay a fair price for, or otherwise support the developers of the tools they use".

glitzersachen,

@glyph @eb

So, which is the infrastructure with the defense against sophisticated APT"? You are not seriously trying to shill Windows or MacOS here?

tessarakt,
@tessarakt@mastodon.social avatar

@glyph @eb I guess we will get another corporate advisory to check for this version (well, first, that a taskforce has been formed to investigate the problem), and then everyone moves on as if nothing had happened ...

irenes,

@glyph @eb please note that we are ALSO no fans of the "subsume free software into capitalism" solution that corporate and statist rhetoric has been pushing for a couple years now

krans,
@krans@mastodon.me.uk avatar

@irenes @glyph @eb It's tricky to avoid the challenge that arises from the problem that (1) producing free software is work and (2) the workers live in a capitalist society and (3) the workers therefore need to pay for food and shelter.

Verily, there is no ethical consumption under capitalism.

glitzersachen,

@krans @irenes @glyph @eb

Do you think he inserted the backdoor for money?

krans,
@krans@mastodon.me.uk avatar

@glitzersachen No. I think the project was a tasty target because it was barely maintained (due to capitalism) and no-one was actually looking at the code being submitted in detail (also because of capitalism).

glitzersachen,

@krans

There is some truth in that. Sadly.

We have come a long way since I installed my first opens source OS, and frankly, I sometimes wonder if we haven't been going into the wrong direction. The big corporation have very much profited from our work, rarely gave back and in the end have poisoned the well to the detriment of us all.

mia,
@mia@void.rehab avatar

@krans @irenes @glyph @eb alas, there is no ethical compression under capitalism

irenes,

@krans @glyph @eb sure. well, so the reason we personally call the thing we do "free software" is precisely to highlight the point that our own goal in publishing stuff without charge is very much to work towards a world without that problem, by creating something that exists as far outside it as we can manage (not all the way - obviously we have the free time to do that because of our other privileges)

irenes,

@krans @glyph @eb people publish their work without financial cost for a long list of reasons, we don't speak for anyone but ourselves (Irenes) here

krans,
@krans@mastodon.me.uk avatar

@irenes @glyph @eb I thought it was called "free software" because users are allowed to do whatever they want to with it including modifications, not because it's provided free of charge.

The founders of the Free Software movement were Libertarians, not Socialists (unfortunately).

I guess we were talking at cross purposes — sorry.

irenes,

@krans @glyph @eb we're very proactive-death-of-the-author about this. the FSF has failed to provide ideological leadership due to RMS's top-down style, but many of the ideals are good ones and it's the job of the current generation to renew the movement if we want our children to be able to enjoy its fruits the way we did

alper,
@alper@rls.social avatar

@glyph @eb We’re already seeing the end of open source with all the relicensings. Maybe this’ll accelerate the trend and we’ll be in a vastly different place in a few years from now.

graydon,
@graydon@canada.masto.host avatar

@glyph @eb Twenty-something years ago, the nant maintainer got death threats because a feature in the latest C# release of that time didn't get supported fast enough.

Industry-wide reckoning is not the thing to expect.

glyph,
@glyph@mastodon.social avatar

@graydon @eb boo to that 😠

geofft,
@geofft@mastodon.social avatar

@glyph @eb I'm frustrated that big tech's efforts to increase core library security are "your project is too popular, you must use 2FA" and "the best reverse engineers in the world will find your bugs and put you on a 90 day disclosure deadline" and not "here is $100K/year and benefits to keep doing what you're doing at your own pace."

glyph,
@glyph@mastodon.social avatar

@geofft @eb I mean, por que no los dos, but one of these is clearly more important than the other

diazona,
@diazona@techhub.social avatar

@geofft @glyph @eb I'm certainly not disputing that it's a real problem that that doesn't happen more often, but isn't there some precedent for big tech companies hiring people to work on specific open source projects? So it's not totally unheard of

glyph,
@glyph@mastodon.social avatar

@diazona @geofft @eb there's actually quite a bit of effort trying to address this problem, but it is a big collective action problem and … well, just look at the email, and tell me if that couldn't be just about any maintainer, on any project, anywhere. and xz is extremely core infrastructure, so the fact that this problem was this severe in this context is discouraging for the state of the rest of the industry

diazona,
@diazona@techhub.social avatar

@glyph @geofft @eb Oh of course. I guess I just wanted to acknowledge being in a state of "a tiny bit of progress" rather than "zero progress". (I have an optimistic streak that comes out sometimes)

glyph,
@glyph@mastodon.social avatar

@diazona @geofft @eb it's appreciated, total despair is not a particularly useful affect.

(Also, as you will see in something longer-form I will post hopefully later today, this is extremely on my mind at the moment.)

luis_in_brief,
@luis_in_brief@social.coop avatar

@diazona @geofft @glyph @eb there’s a lot of precedent for hiring maintainers of top-level programs whose brand (for lack of a better term) has reached the level of awareness of a C-level with a hiring budget. Collectively pooling money to help the projects C-levels have never heard of… has a much weaker track record. We’ve been trying to tackle it at Tidelift for a while and suffice to say I’ve definitely had a lot of “but it can’t happen to me” conversations.

luis_in_brief,
@luis_in_brief@social.coop avatar

@diazona @geofft @glyph @eb I increasingly wonder if we aren’t due for some “defragging” of a lot of core infra, with many projects pooled together, maintained, and funded more collectively, like Ruby Together.

Di4na,
@Di4na@hachyderm.io avatar

@luis_in_brief @diazona @geofft @glyph @eb i doubt we can. Multiple people try but the expertise runs too niche and too big. At least with current tools.

Hell even just running the build system of a project easily takes months to learn.

geofft,
@geofft@mastodon.social avatar

@luis_in_brief @diazona @glyph @eb Yeah that resonates with my experience. People like GvR get hired (which is great!) but there's a whole dependency stack underneath. Their maintainers often have a strong résumé to get hired for a normal big tech job at a company that uses the language/ecosystem/etc. but not necessarily for maintaining the project as their job. Sometimes the job is even "build something similar for an internal non-OSS ecosystem."

luis_in_brief,
@luis_in_brief@social.coop avatar

@geofft @diazona @glyph @eb yup. Or they get hired with the promise that they’ll get 20% time to work on it, and that goes away for reasons (sometimes good, sometimes bad), or…. Etc etc

glyph,
@glyph@mastodon.social avatar

@geofft @luis_in_brief @diazona @eb there are layers and layers to this. Famous maintainers get hired more than critical maintainers. And maintenance is important but how do you pay for the commons of new projects? The tidelift model gets us part of the way there, because these costs need to be aggregated and there needs to be some kind of oversight, but even if they were universally adopted (and that is far from true) there are so many missing pieces

luis_in_brief,
@luis_in_brief@social.coop avatar

@glyph @geofft @diazona @eb “Famous maintainers get hired more than critical maintainers.” Owwwwwwww.

brainwane,
@brainwane@social.coop avatar

@luis_in_brief @glyph

I am way overdue in finishing and publishing my negative review of Eghbal's "Working in Public" but one of my critiques is that she basically concludes that maintainers need to become famous and use Substack/Patreon to crowdfund (from individual donors) in order to sustain their work. Which really doesn't fit what we have found in critical FLOSS infrastructure IMO.

@geofft @diazona @eb

pbarker,
@pbarker@social.afront.org avatar

@brainwane I dropped you a follow because I am very interested in reading a critique like that when it is published!

brainwane,
@brainwane@social.coop avatar
benwis,

@brainwane @luis_in_brief @glyph @geofft @diazona @eb @djc How to monetize open source is such an interesting question.

eb,
@eb@social.coop avatar

@benwis @brainwane @luis_in_brief @glyph @geofft @diazona @djc there’s some website (I forget what it is) that basically you pay x amount of dollars and it audits your entire dependency tree and attempts to pay maintainers proportionally. Unfortunately iirc it was kinda flawed but I think it’s a solid idea

luis_in_brief,
@luis_in_brief@social.coop avatar

@eb @benwis @brainwane @glyph @geofft @diazona @djc you’re thinking of Back Your Stack, probably.

On a more sustainable (read: commercial) basis, I co-founded https://tidelift.com to do exactly this.

benwis,

@luis_in_brief @eb @brainwane @glyph @geofft @diazona @djc

Does Tidelift support Rust projects?

brainwane,
@brainwane@social.coop avatar
luis_in_brief,
@luis_in_brief@social.coop avatar

@benwis @brainwane we do, though sadly not a ton of customer demand yet so not a ton of money going into that ecosystem yet.

brainwane,
@brainwane@social.coop avatar
eb,
@eb@social.coop avatar

@luis_in_brief @benwis @brainwane @glyph @geofft @diazona @djc oh that’s sick, it’s so funny that you never know who you’re speaking to on here lol. Congrats on how successful tidelift has been :)

luis_in_brief,
@luis_in_brief@social.coop avatar

@eb @benwis @brainwane @glyph @geofft @diazona @djc Thanks! admittedly on a day like today, mostly I'm focused on how many projects we can't yet cover.

So, yeah, send people our way!

Di4na,
@Di4na@hachyderm.io avatar

@brainwane @luis_in_brief @glyph @geofft @diazona @eb yep i never published my own review because of that. The Road and Bridges report was great. The book felt like a massive PR piece for GitHub sponsor feature and a way to hide the problem.

brainwane,
@brainwane@social.coop avatar

@Di4na

If you have an unfinished or unpublished draft review I would very much like to read it. My own critique will/would expand on what I wrote in https://www.harihareswara.net/posts/2022/what-you-miss-by-only-checking-github/ as well as my comment at the top of https://www.metafilter.com/191414/Free-as-in-free-puppy-not-free-as-in-free-beer .

@luis_in_brief @glyph @geofft @diazona @eb

Di4na,
@Di4na@hachyderm.io avatar

@brainwane @luis_in_brief @glyph @geofft @diazona @eb nah it stayed in my head. And i have far too many blogpost ideas in my "todo" list that have been more urgent.

Realistically most people already don't read Road and Bridges so that book basically has fallen into my "to forget" bin

geofft,
@geofft@mastodon.social avatar

@glyph @luis_in_brief @diazona @eb Yes, e.g., what if the current maintainer is genuinely unavailable/uninterested? As may well have happened with xz even with a job offer.

Funding a new maintainer is by itself defensible, but doing so will drastically change both the pressure on the current maintainer and the choice of who becomes maintainer (e.g. there's now a bias in favor of those who have US work authorization).

I'm curious if either Tidelift or the commercial distros have norms for this.

dalias,
@dalias@hachyderm.io avatar

@geofft @glyph @luis_in_brief @diazona @eb A relationship with a critical FOSS dependency maintainer is very clearly classifiable as independent contractor, and SHOULD or even MUST be for the sake of project integrity. There should be no reason to need US work authorization.

diazona,
@diazona@techhub.social avatar

@dalias @geofft @glyph @luis_in_brief @eb Legally speaking I think it could be set up either way. Although if an OSS project maintainer is employed (not contracted) by a company to maintain the project, it is kind of as if the company is acting as the maintainer, which certainly raises questions about their motivation....

Di4na,
@Di4na@hachyderm.io avatar

@luis_in_brief @diazona @geofft @glyph @eb i had a blogpost in the work all week around this but like.

By my (cursed) maths based on both Tidelift report and the Synopsys one, at least 50% of every single sloc in commercial project (averaged) is foss maintained by a "weekend maintainer".

Only 10% is commercially maintained.

And the rest is mostly "partially paid for maintenance" which means "sometimes i maybe get paid a few hours on a contract to do it".

Di4na,
@Di4na@hachyderm.io avatar

@luis_in_brief @diazona @geofft @glyph @eb

And that is going to the conservative side. I think it is more than 50%.

And realistically, we are not going to massively move the needle here. This is what makes opensource win. If we change that equation, people will revert to this.

We need to find ways for weekend maintainers to do more with less effort on their part too. We are not going to pay everyone soon enough. We need to work on both angles.

luis_in_brief,
@luis_in_brief@social.coop avatar

@geofft @glyph @eb (sobs in Tidelift)

geofft,
@geofft@mastodon.social avatar

@luis_in_brief @glyph @eb I should try harder to figure out what a Tidelift is and how to convince my employer to sign up. But also... IMO Microsoft or Google (whom I am subtooting) etc. can singlehandedly employ all the maintainers of ldd sshd and that would get results that fractionally paying for the commons never will.

Like this should be the job of a distro, and RH/SUSE/Canonical/Oracle kinda do this, but clearly none of them actually saved their customers (or the world) from this.

geofft,
@geofft@mastodon.social avatar

@luis_in_brief @glyph @eb Re "I should try harder to convince my employer to sign up for Tidelift": can Tidelift tell us whether .... looks at /proc/$(pgrep sshd)/maps ... libcap-ng or zlib has a sustainable maintenance story and what it would take to give it a sustainable maintenance story?

Looks like libcap-ng's maintainer is at RH and zlib's maintainer is (probably comfortably) retired, but
both seem to be one-person jobs, which as @ehashman points out is a problem.

luis_in_brief,
@luis_in_brief@social.coop avatar

@geofft @glyph @eb @ehashman sadly we do that for just about everything except C and C++, because our valuation metrics rely on customer usage and lol/sob C/C++ packaging is (relatively) poor and unstandardized.

luis_in_brief,
@luis_in_brief@social.coop avatar

@geofft @glyph @eb @ehashman but note also that the goal is not "support this one package", it's support as much of the stack as possible. If we focus on "tell you about one package" then we just replicate the problem (noted elsewhere in multiple threads here) that famous packages get support, and others (which data would surface but 'namebrands' don't) get zero.

Di4na,
@Di4na@hachyderm.io avatar

@geofft @glyph @eb That but also, could they fund a proper work on you know. Replacing shell scripts and Autotools as the way to do jigs? Could we get one build system paid by them targeted at the actual needs of opensource maintainers?

Instead of the bazel stuff that is self serving?

Nah? nah.

geofft,
@geofft@mastodon.social avatar

@Di4na @glyph @eb I am interested in this problem! I do think newer languages are better at this, though, and not many C projects are getting created from scratch these days. It feels like a lot of the problem is existing code and their build systems that support e.g. VMS and Windows XP.

(In Bazel's defense it seems like it was the only way for Google to sustainably open-source stuff at all - some things like Borg or GCL only made it to the public in the form of a v2 reimplementation.)

Di4na,
@Di4na@hachyderm.io avatar

@geofft @glyph @eb sure but that is Google problem and that stuff is not that used. And like. Chrome is infamously known to be unbuildable.

And the problem is not vms and windows xp. It is that all these build systems are barely a build system at all. And that the incantation to please a C compiler (and let's not talk of a linker) especially when you have a dozen vendored stuff are... More than arcane.

happyborg,
@happyborg@fosstodon.org avatar

@geofft
can change this. One of the goals is to democratise by leveling the playing field for developers as well as users. So removing silos controlled by others on the one hand and providing income to those creating value in the system (including but not only developers). For developers who want to scale, there's a liberation from seeking capital, because infrastructure scales without cost. So one dev in a bedroom cold build the next unicorn and stay true to their values.
@glyph @eb

lewiscowles1986,
@lewiscowles1986@phpc.social avatar

@glyph @eb
In this case, abandonning development was the healthy thing to do, and cajoling this person, has only led to further harms.

I Disagree with the notion throwing money at all the open source is viable, or going to fix complex issues like mental health. although I agree companies should pay more. But it's 2000 commits, so probably easier to remove xz and stop using it; than to attribute much ongoing input to xz format support.

veit,
@veit@mastodon.social avatar

@glyph @eb Log4J is now supported by the Sovereign Tech Fund @sovtechfund: https://www.sovereigntechfund.de/news/log4j-investment
However, we should not allow a critical open source project to burn down every time until people understand that these projects need support of all kinds: 💸 🧑‍💻

joeyh,
@joeyh@hachyderm.io avatar

@eb good start

But Jia Tan has earlier commits than the one you identified as first. aa75c5563a760aea3aa23d997d519e702e82726b is their first commit.

Note that there are earlier commits that mention they were based on contributions by Jia Tan, before the first commits with them as the author. 20e7a33e2d59c6a814447d3991f21e2702174b20 in Feb 2022 is the first of those.

joeyh,
@joeyh@hachyderm.io avatar

@eb actually their first commit had a different author field and was 6468f7e41a8e9c611e4ba8d34e2175c5dacdbeb4

joeyh,
@joeyh@hachyderm.io avatar

@eb I wonder when they were first added to the project on github. Any commits after that point are suspicious, even if the commit claims to be authored by someone else.

They merged a pull request for the 1st time in 6fd39664de47801e670a16617863196bfbde4755 on Jan 7 2023.

eb,
@eb@social.coop avatar

@joeyh this is a good question. I'll include this information, I briefly was looking for a change in the maintainer list but right now I'm focused on the exploit chain

olov,

@eb thanks for writing this. they tried to change the URL to the xz subdomain on LKML too, see https://lore.kernel.org/lkml/20240320183846.19475-6-lasse.collin@tukaani.org/

there's an 11-part patch posted at the same time but this specific patch wasn't part of it for some reason.

ciggysmokebringer,

@eb

Why am I the only one wanting to give the actor some roses for sticking to an project for 2 years?

vascorsd,
@vascorsd@mastodon.social avatar

@eb what's really surprising is the same thing not happening more often. Or we are all just very unaware since the pay off to do these kinds of things is so huge specially for state sponsored attacks or others with enough money and effort to put into it.

glyph,
@glyph@mastodon.social avatar

@eb thank you for writing this up. I am particularly curious what is going on with the tukaani-project org, since it seems as of this moment that JiaT75 is still a member. Is the whole project / org completely burned or was this one infiltrator who might be expelled?

eb,
@eb@social.coop avatar

@glyph my understanding of this is at this point they are the primary contributor. Notably, a website previously under the control of a different contributor was updated to point to the github of this org, which of course Jia has access to. I'm not positive that Jia owns the org, however.

glyph,
@glyph@mastodon.social avatar

@eb Thanks, I will continue following your updates. What a nightmare.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • security
  • DreamBathrooms
  • ngwrru68w68
  • modclub
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • InstantRegret
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • mdbf
  • GTA5RPClips
  • JUstTest
  • ethstaker
  • normalnudes
  • tester
  • osvaldo12
  • everett
  • cubers
  • tacticalgear
  • anitta
  • Leos
  • provamag3
  • cisconetworking
  • megavids
  • lostlight
  • All magazines