this post was submitted on 12 Jun 2026
154 points (98.7% liked)

Linux

65723 readers
550 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 7 years ago
MODERATORS
 

Arch Linux’s AUR is experiencing a malware incident involving user-contributed packages with malicious commits that attempt to download npm-based payloads during installation. (...)

Arch users should not update AUR packages without review. Examine PKGBUILD diffs, check any new .install files, and be cautious if updates introduce npm commands or dependencies unrelated to the software.

Users who recently updated affected AUR packages should review package history, examine executed suspicious install scripts, and treat any unexpected npm-based installation behavior as a possible compromise.

all 49 comments
sorted by: hot top controversial new old
[–] mecen@lemmy.ca 1 points 1 hour ago* (last edited 1 hour ago)

To be fair, basic checks should be done not just make account and in next 10 seconds accept abandoned package and publish malware.

[–] SocialistVibes01@lemmy.ml 3 points 4 hours ago

Me, a Debian user watching that shitshow 😎

[–] mactan@lemmy.ml 21 points 8 hours ago* (last edited 7 hours ago)

To potentially prevent this entire class of npm attacks in the future, you could edit /etc/pacman.conf, uncomment

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =

And set it to IgnorePkg = npm

Your system should prompt you to accept installing npm because it's in the ignore list. These packages set it as a dependency, so that gives you a chance to notice that something's off and refuse the install. This assumes you don't already have npm installed or need it for some reason.

https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/

edit: word is that bun command is being abused as well and may be worthwhile including in the space separated list:

IgnorePkg = npm bun

[–] IEatDaFeesh@lemmy.world 37 points 10 hours ago (2 children)

I feel like this always happens to npm specifically. They're definitely doing something wrong 💀

[–] HaraldvonBlauzahn@feddit.org 1 points 1 hour ago

Could happen with pip too.

[–] eldavi@lemmy.ml 4 points 6 hours ago

it's the way it's been setup; it needs a thorough revamping to make it as resilient as other supply chains.

not that other chains are bullet proof, it's just that npm people need to up their game to be atleast as good as the others.

[–] SolarPunker@slrpnk.net 9 points 9 hours ago (1 children)

That's another reason I like cachyos: they have a curated list of aur pkgs in their repo.

[–] Luckyfriend222@lemmy.world 5 points 8 hours ago (2 children)

I too use CachyOS. But i am very new to it. Why are we more 'protected' than straight up Arch users? I like Cachy, but have a gripe with how some applications behave, especially Java based Apps, that have a native installer in AUR (not building from source). I have one application that is built in JAVA, and the text is so freaking small, all the pop-up windows open on the wrong place which makes the pointer inaccurate etc. But I digress. The question was more why should we feel more relaxed than the Arch guys and gals?

[–] SolarPunker@slrpnk.net 1 points 3 hours ago

It's like having a "double check" from a trusted source, they compile selected stuff from the aur so I suppose it's a little more safe for the random user.

[–] gegil@sopuli.xyz 1 points 7 hours ago (1 children)

This is propably because app does not support fractional scaling. Some apps that does not support fractional scaling will either not be scaled (rendered at native display resolution), or scaled by system (will look blurry because window resolution does not match display resolution).

[–] Luckyfriend222@lemmy.world 1 points 6 hours ago

That makes sense. What is weird though is the dev wrote the app for multiple platforms, including Debian, RPM-based and a few others. So it not like it is one of those ‘compile only from source and good luck to yah’ kinda apps.

But thank you for the response. I do appreciate you taking the time!

[–] placebo@lemmy.zip 16 points 11 hours ago (2 children)

attempt to download npm-based payloads during installation

Why npm and not python? It's installed on every arch system and wouldn't bring unnecessary attention 🤷

[–] lemmyvore@feddit.nl 17 points 10 hours ago (2 children)

Because the NPM is a complete mess and it's super easy to exploit for supply-chain attacks by sneaking malware into one of the billion dependencies required by most popular packages.

[–] placebo@lemmy.zip 6 points 10 hours ago (1 children)

But if you look at some of the packages, they explicitly added npm as a new dependency. It'd be much easier to sneak in a python script.

[–] lemmyvore@feddit.nl 10 points 10 hours ago (1 children)

AUR "packages" are just a recipe file that runs some commands that sources packages from somewhere else and builds them then puts them in the format required by the AUR package manager.

Normally it's a source tarball downloaded directly from the project's Git repo. But it can also fetch and install a binary package (for closed source software). Or it can install Node modules, or Python modules etc.

Point is, you can't inject a script directly in AUR itself. You could add the malicious code directly to the recipe file but it would be obvious. You could also download a zip with the malware directly, but it would also be obvious.

So what they do is add the malware to modules published on another platform, and they're downloaded indirectly, as a dependency of the Nth grade.

It's very hard to detect, you can't really notice this kind of attack with a glance at the recipe.

[–] placebo@lemmy.zip 1 points 4 hours ago

I see. Thanks for the explanation.

[–] CommanderCloon@lemmy.ml 2 points 9 hours ago (1 children)

But why would they care about supply chain attacks if they already have hacked into the package you're requesting? In that case, executing python scripts would be less noticeable

[–] lemmyvore@feddit.nl 1 points 8 hours ago (2 children)

Here's the AUR recipe (PKGBUILD file) for a random package:

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=nautilus-git

This is a standard format for the recipe. It's Bash code used to define variables and functions.

You'll notice there's no place to sneak in a Python script. There is some brief Bash code in the functions but any major stuff would stand out immediately. So would an command that fetches a malware zip from a weird URL.

Meanwhile, if you add node or python to the dependencies, and then run a command that installs a perfectly legit npm or pip module, nobody would bat an eye. It's impossible to figure out that among the many upstream dependencies of that module there might be one that was subverted to discreetly run malware.

AUR is a very bad idea tbh and should not be used by the faint of heart. It makes it entirely too easy to pull this kind of crap.

[–] lofi@piefed.social 1 points 5 hours ago

AUR itself is fine, the issue in this case is more with the automated system allowing anyone to take over orphaned/abandoned packages. This is a targeted attack leveraging that system.

[–] jdr@lemmy.ml 3 points 7 hours ago

AUR is a great idea, misusing it is a bad idea.

[–] gary_host_laptop@lemmy.ml 3 points 9 hours ago (1 children)

this is like the 4th npm vulnerability in months, they used that because npm is shit and easy to exploit

[–] sanpo@sopuli.xyz 13 points 12 hours ago* (last edited 11 hours ago) (1 children)

What a terrible article.

"Multiple" packages mentioned in the title, but they're unable to actually name more than one in the article...

//edit
Actually, they did leave a link to the mailing list thread at the very end.
I should learn to read the entire article...

[–] Bananskal@nord.pub 2 points 10 hours ago* (last edited 9 hours ago)

I was wondering why you felt that way 😅 Usually this source produces good content lol

[–] MonkderVierte@lemmy.zip 2 points 11 hours ago* (last edited 11 hours ago) (1 children)

.... how do i make npm generally not work on Linux? I don't use it and with how attack vectors are the majority of cases via NPM... and can be shipped as a binary to .
Environment variables pointing to /dev/null? Application firewall? Or would just blocking some domain/IP suffice?

[–] sirico@feddit.uk 5 points 10 hours ago (1 children)

sudo {package-manager} remove npm nodejs sudo {package-manager} purge npm nodejs

npm: sudo tee /usr/local/bin/npm >/dev/null <<'EOF' #!/bin/sh echo "npm is blocked on this system." exit 1 EOF

sudo chmod 755 /usr/local/bin/npm

npx: sudo tee /usr/local/bin/npx >/dev/null <<'EOF' #!/bin/sh echo "npx is blocked on this system." exit 1 EOF

sudo chmod 755 /usr/local/bin/npx

Might break somethings but that's a part of boycotting something I guess.

[–] MonkderVierte@lemmy.zip 3 points 10 hours ago (1 children)

Thanks, but

and can be shipped as a binary to

[–] silasmariner@programming.dev 1 points 37 minutes ago

You can't just ship a binary to a random location without knowing architecture, which is very relevant. Not everything is x86 any more. But you can do shell, and since aur is shell that should be good enough given the context of the article.