• @node815@lemmy.world
    link
    fedilink
    English
    442 months ago

    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.

  • @mvirts@lemmy.world
    link
    fedilink
    402 months ago

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

    • Possibly linux
      link
      fedilink
      English
      -11
      edit-2
      2 months ago

      I would use gparted

      Edit: it can only restore deleted partitions, not files. For restoring files check the documentation for your file system

      • @TheAnonymouseJoker
        link
        32 months ago

        GParted is not a data recovery tool. It is for disk partitioning.

        • Possibly linux
          link
          fedilink
          English
          2
          edit-2
          2 months ago

          It also can restore disk partitions. Whoops, I made a minor blunder

          • @TheAnonymouseJoker
            link
            02 months ago

            How can it restore disk partitions? You can only undo the changes you have not committed to the disk. It does not perform data recovery operations.

            Nowhere have I seen restoring partitions as part of its functionality, in my usage of GParted. That seems more up the alley of Testdisk and R-Studio.

  • @Pantherina@feddit.de
    link
    fedilink
    312 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.

  • BZzzz
    link
    fedilink
    242 months ago

    *Malicious script inside everywhere can wipe out all your data

  • @maniel
    link
    22
    edit-2
    2 months ago

    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
      link
      172 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
      link
      fedilink
      132 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
      link
      fedilink
      English
      12 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.

  • @fruitycoder@sh.itjust.works
    link
    fedilink
    112 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
    link
    fedilink
    English
    102 months ago

    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
      link
      fedilink
      52 months ago

      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
        link
        fedilink
        42 months ago

        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.

  • @jherazob@beehaw.org
    link
    fedilink
    English
    9
    edit-2
    2 months ago

    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
      link
      fedilink
      222 months ago

      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.

        • @Zamundaaa@discuss.tchncs.de
          link
          fedilink
          English
          112 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
        link
        fedilink
        12 months ago

        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
          link
          fedilink
          English
          1
          edit-2
          2 months ago

          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
            link
            fedilink
            2
            edit-2
            2 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.

  • katy ✨
    link
    fedilink
    82 months ago

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

    • @TheGrandNagus@lemmy.world
      link
      fedilink
      English
      152 months ago

      This is such a dumb comment. Jesus.

      “I thought passwords were meant to improve security! So how come I got a virus???”

    • Boo
      link
      fedilink
      52 months ago

      This is different from the Wayland security model, as Wayland restricts the ability for clients to modify and read from other clients arbitrarily. This is an extension to a Wayland compositor, and as all extensions do, it contains code which runs on your system. Any code, unless sandboxed, can access your filesystem no matter if it’s run under Wayland, X11, or no windowing system at all for that matter.

      • @Zamundaaa@discuss.tchncs.de
        link
        fedilink
        English
        8
        edit-2
        2 months ago

        It is not related to Wayland or the compositor in any way. This is a plasmashell extension.

        Similar caveats do apply to KWin scripts and effects though

    • machinya [it/its, fae/faer]
      link
      fedilink
      22 months ago

      wayland was not about avoiding applications accessing resources or running scripts (that is why sandboxing is for) but to avoid programs to have access to the rest of the graphical session (things like input devices and other graphical windows and their data)

    • @ReversalHatchery@beehaw.org
      link
      fedilink
      English
      12 months ago

      It does, when the bad actor is a program you run, and other open windows contain sensitive content.

      Here the bad actor is code being loaded as an extension to the compositor. A bit like a kernel module, which can bypass file access permissions if it wants.