| That sounds pretty reasonable to assume for any game, even those that are singleplayer, if they access the network. Game code is particularly known to be "spaghetti", "code cowoy"-style, where the result is more important than the form or correctness. I mean, that's art, after all, so that seems obvious. And do you think a lot of companies update their games after they are out? Most often, the code is definitive, refactors are out of the question, etc. I've never seen a bug that fixes a security issue (CVE), let alone for old titles. And that's when RCE is not by design. It is in Garry's mod, but that's for client-side mode scripted with lua, so theoretically sandboxed. Unreal Tournament 99 though, has plenty of servers that put some dlls for "anti-cheat" software on your computer before you join. That one probably sn't sandboxed. While we talk about anti-cheat software, can we think a moment about everything that could go wrong with a piece of software that has a very deep access to the system, is sometimes in-house, and not necessarily audited, and whose functionality often includes: * downloading challenges from servers, patch them into RAM and see what happens * scan the RAM of the whole system, plus the filesystem, for known exploits * upload parts of that RAM and filesystem to random servers for analysis * take screenshots, log keypresses, monitor the system and upload all of this. Takeaway: sandbox your games. There's a reason I run Steam in a flatpak, on Wayland... Convenience is part of it, but that's not the main one. |
If flatpak works perfectly, I suppose an attacker could still steal the "cookie" that automatically logs you into Steam.
Ideally you want Steam to be sandboxed, and then Steam to in turn run all the games in individual sandboxes.