this post was submitted on 20 Mar 2024
179 points (96.4% liked)

Linux

48199 readers
913 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 5 years ago
MODERATORS
 

cross-posted from: https://lemmy.ml/post/13397700

Malicious KDE theme can wipe out all your data

Or is it just buggy?

all 49 comments
sorted by: hot top controversial new old
[–] node815@lemmy.world 44 points 8 months ago (2 children)

For those that don't want to go back to the Dark side (Reddit), the post referenced a theme (Grey Layout global theme) which got KDE Dev's involved who in reaction removed the listing from the store.

In short - the theme ran code to run a rm -rf on the user's drive which wiped everything during install. Aside from backing up your data religiously, be sure to inspect the code instead of blindly installing for now. KDE Dev's said they will need to do better so I expect some changes are afoot to provide better security.

[–] MonkderZweite@feddit.ch 22 points 8 months ago* (last edited 8 months ago)

Why can a theme execute code??

edit: it was the package that did it?

[–] governorkeagan@lemdro.id 9 points 8 months ago (1 children)
[–] danielquinn@lemmy.ca 3 points 8 months ago

Ooh! Thanks for this! I had no idea it existed.

[–] mvirts@lemmy.world 40 points 8 months ago (3 children)

Great time to mention tools like testdisk that can easily recover data that has been recently deleted on common filesystems.

[–] Michal@programming.dev 14 points 8 months ago
[–] nicoweio@lemmy.world 7 points 8 months ago

Though nothing can replace a proper backup

[–] Pantherina@feddit.de 30 points 8 months ago

A ton of extensions are executing scripts, but this is generally behind a warning.

This REALLY has to change guys, and for that the getnewstuff backend must become better.

For example Dolphin extensions are still downloaded to some random download location that is not actually used.

And the packaging of addons is extremely random too.

[–] MOUCHE_A_MERDE@jlai.lu 23 points 8 months ago (1 children)

*Malicious script inside everywhere can wipe out all your data

[–] baseless_discourse@mander.xyz 5 points 8 months ago* (last edited 8 months ago)

except sandboxed, a theme should not have unrestricted user file system access.

[–] maniel@lemmy.ml 21 points 8 months ago* (last edited 8 months ago) (3 children)

Seems like a ~~blessing ~~ glaring kde bug, I mean how is it possible? Why a theme needs to be able to execute shell commands?

[–] AMDIsOurLord@lemmy.ml 16 points 8 months ago

Themes are very powerful beings in KDE. they can install SDDM themes and scripts, they can set Kvantum themes, custom parameters for other parts of the system etc.

You can't really do that shit without scripting

[–] dinckelman@lemmy.world 13 points 8 months ago

It’s really not uncommon for a lot of themes to package an installer script, in case they have multiple versions, or multiple colors bundled. Realistically, they should just each have their own store page, but it’s a colossal pain in the ass. The Catppuccin global theme, for example, has 16 color variants, 2 decoration variants each, and then also a version with no splash. The whitesur theme is similar.

I do agree though that if this is going to continue to exist, it should not have permissions it has today

[–] ReversalHatchery@beehaw.org 1 points 8 months ago

Because themes are not just skins, as I understand. Themes are a collection of a lot of different kinds of components, from color schemes and fonts to window decorations and to a custom interactive SDDM menu as the other commenter said.

[–] Samueru@lemmy.world 11 points 8 months ago

It is a bug, and not only that, it is KDE6 related lmao. It's the steam bug again!

[–] fruitycoder@sh.itjust.works 11 points 8 months ago

We really need better sandboxing for the desktop. I see why scripting can useful for themes, but why the heck would they have so much fs access?

[–] dr_jekell@lemmy.world 10 points 8 months ago (3 children)

This is why you back up your data!

I use both Timeshift and Lucky Backup.

Timeshift is setup to back up the entire OS and user data and fire off a backup when updating (onto an internal drive).

Lucky Backup has been setup to do a one way sync of my user folders (doc's, download, pictures, videos etc) onto an external drive.

[–] Weazel@feddit.de 5 points 8 months ago (1 children)

Stupid question maybe, but would your backups even be safe? Sure, it was mentioned that you had to enter your sudo password, but let's say you did that because you are careless, "rm -rf" would wipe all connected and mounted drives as well, so your backups would be gone, wouldn't they? Or does Timeshift mount and unmount on demand? If so, what would happen if you ran "rm -rf" while a backup is being saved?! It seems to me that a simple "make backups" isn't enough here.

[–] kylian0087@lemmy.world 4 points 8 months ago (1 children)

I do not know much about Timeshift and Lucky backup. But a proper backup is not a on the same system even if it is a second drive internally. For some quick file recovery after deleting things you shouldn't have it is fine. A proper backup should be a separate system and ideally 2 systems one externally but this is overkill for most folks. With a separate system you can setup automated backups and disaster recovery. if you are scared the backup system can get compromised from the main system. you can set things up in such a way that the backup works in pull mode and the main system being backed up has no access to the backup system.

[–] linuxPIPEpower@discuss.tchncs.de 2 points 8 months ago (2 children)

Not everyone can have 2 computers for all kinds of reasons.

Everyone do you best. Prioritize your data and take stronger precautions for the most important.

[–] kylian0087@lemmy.world 1 points 8 months ago

A separate computer/server might be the best but their are many ways. Cloud storage is one of the many options that can be used as well.

[–] Cupcake1972@mander.xyz 1 points 8 months ago

No one says you need to have 2 computers, a second external drive is fine.

[–] Pantherina@feddit.de 3 points 8 months ago

This is why you shouldnt allow anything to execute arbitrary code without permission

[–] linuxPIPEpower@discuss.tchncs.de 1 points 8 months ago

Lucky Backup is a fantastic piece of software. It is the perfect amount of GUI to spread over rsync.

[–] jherazob@beehaw.org 9 points 8 months ago* (last edited 8 months ago) (2 children)

On the Reddit thread people, at least one of them tagged as a KDE dev, mentions that widgets NEED to be able to run arbitrary code. I am absolutely baffled by this.

[–] Michal@programming.dev 22 points 8 months ago (2 children)

Aren't widgets pieces of software? Of course they have to run code. But they need to be isolated, or at the very least not have sudo access.

[–] MonkderZweite@feddit.ch 5 points 8 months ago (1 children)

Think of html+css, themes are supposed to be that kind of code who does nothing by itself.

[–] Zamundaaa@discuss.tchncs.de 11 points 8 months ago

Widgets aren't themes. They're things on your desktop that people are using for example for showing a folder - and if that can't interact with the system, that widget's functionality is broken.

Of course, that should not apply to install scripts or the like, which shouldn't be a thing at all really. And it should be made a lot more obvious which downloadable things can execute code / which ones are "guaranteed" safe and which ones may not be.

[–] baseless_discourse@mander.xyz 1 points 8 months ago (1 children)

I think the theme mentioned probably don't have sudo access, just user access can do enough harm already.

I think rm command should refuse to remove overly-broad target (home, xdg dirs, media drives) without confirmation in the command line.

[–] ReversalHatchery@beehaw.org 1 points 8 months ago* (last edited 8 months ago) (1 children)

Ok, then a bad actor could enumerate all the subdirs and delete them one by one.

Even if going down this path would be a good solution, I don't think this is rm's job to do. This should be done by ~~an antivirus~~ a security suite. I think I have read that for the past few years the kernel now has a better API than inotify to get notified by file operations. I don't remember it's name, but I think it was even mentioned in the docs that security software is a use case of it

[–] baseless_discourse@mander.xyz 2 points 8 months ago* (last edited 7 months ago)

This is not a defense against bad actor, but defense against bugs in bash script, which is quite common. Another idea is to introduce a new trash command xdg-trash to replacerm. But both of these cannot stop malicious actors removing your file.

I think even if we have a security suite, it is unlikely to detect bad actor recursively enumerating the file and delete them one by one, until many files were irrversably lost.

Antivirus has never been a proper way to achieve security, I think the proper way to defend against offensive rm is probably sandboxing.

[–] cupcakezealot@lemmy.blahaj.zone 8 points 8 months ago

i can do that too with --no-preserve-root but you don't see me bragging.