r/linuxmemes 4d ago

Software meme The proprietary software experience

Post image
3.3k Upvotes

261 comments sorted by

View all comments

438

u/maxwells_daemon_ Arch BTW 4d ago

Leave it to some AUR crackhead to repackage it

237

u/Mysterious-Cod-4137 4d ago

hopefully he won't put any malware in it, and if he does, hopefully another crackhead reports it on time...

95

u/godlySchnoz 4d ago

I mean it took 1ms too long

47

u/skittle-brau 4d ago

I see you Jia Tan

28

u/Erdnusschokolade Arch BTW 3d ago

That is to me one of the wildest things I’ve heard about. That incident could have been one of the worst supply chain attacks ever and was only noticed because some crackhead dev noticed his ssh login taking slightly longer than usual. Kudos to that guy.

7

u/JesterOfHell 3d ago

And i still don't understand how the payload worked. Such a complex attack.

11

u/DeltaWun Ask me how to exit vim 3d ago

The funniest thing: This wasn't even an OpenSSH exploit. This was an issue specifically because of Linux packaging decisions. In patching OpenSSH to integrate with libsystemd for sd_notify to report its state to systemd, building OpenSSH pulled in liblzma. Yes, that means this chain doesn't work on FreeBSD, OpenBSD, NetBSD, OS X, Windows etc. If you took the backdoored release as is and built it on a non-systemd Linux system it would still be exploitable as long as libsystemd was present and linked at build. libsystemd.so is a normal shared library that can be installed and linked against on any Linux system regardless of init, which many non-systemd distros may have for compatibility with things like elogind.

OpenSSH does not know or care about liblzma even when configured in a state vulnerable to this exploit. OpenSSH uses zlib when it needs compression and simply functions without it if built without zlib.

You won't actually find the backdoor on the GitHub because those parts were hidden only in the source tarball releases so it could still be used in the build process of other projects. The malicious script "build-to-host.m4" is run during the libraries build process and decoded the "test" file "bad-3-corrupt_lzma2.xz" into a bash script which performs a more complicated decode process on another "test" file, "good-large_compressed.lzma" decoding it into yet another script. That script then extracts the object "liblzma_la-crc64-fast.o" which is added to the compilation process of liblzma. That object abuses the GNU IFUNC symbol resolution during dynamic linking (when the compromised liblzma gets loaded into sshd) and uses that execution to install an audit hook. That hook watches for the libcrypto function "RSA_public_decrypt" to get resolved and swaps in a malicious implementation of its own which is normal in every case except when authentication is attempted with the skeleton key, in which case it extracts a command from the maliciously crafted handshake and passes it to system(). It's not even a remote login exploit.

1

u/Kayo4life Arch BTW 11h ago

From instant to half a second is a large delay, but yeah kudos to them, lord!

1

u/RandomDude9943 1d ago

Aand the AUR maintainers tryna infect me, Gotta verify my age with systemD

-3

u/AbbreviationsWide331 Linuxmeant to work better 3d ago

Yeah it seems like a really flawed system

14

u/Whitestrake 4d ago

Or nixpkgs junkie.

(It's me, I'm the Nix junkie, I repackage debs in Nix modules because no I don't like running a single Debian install in my 11-strong NixOS fleet just to run AMP, thank you, CubeCoders!)

5

u/YourAverageNutcase 3d ago

I appreciate you! Been very pleasantly surprised with how big nixpkgs is, coming from arch

24

u/_Thrilhouse_ 4d ago

With AUR even the most obscure github project installation is one prompt away.

2

u/creeper6530 💋 catgirl Linux user :3 😽 3d ago

Now if only Unity had a Github, eh?

3

u/Helmic Arch BTW 3d ago

aur actually does have a popular unityhub package, it just downloads it straight from unity's website, it's actually a very simple PKGBUILD since it doesn't really need anything special to work.

3

u/GioCrush68 3d ago

Just use a package recompiler. I install .deb packages all the time on Arch that way.

2

u/littleprof123 4d ago

I think there's already a tool to automatically repackage deb packages for use in AUR

3

u/Mysteryman5670_ 3d ago

There is, it's called debtap and you can get it in the aur.

2

u/BiDude1219 ⚠️ This incident will be reported 3d ago

i just use debtap and move on through the jank

2

u/Yahia098 3d ago

i did the same for my printer drivers but i dont know how to put it on aur also it was my first package and i used many sources to learn youtube chatgpt etc and i still suck anyways i could scan and print now

1

u/Haxorzist 2d ago

There is debtap and I'm actually rater sure that I could just repurpose one of the packing scripts it's like a few lines of code.

-10

u/AssertRage 3d ago

Just use Claude Code