Remix.run Logo
jeroenhd 5 days ago

Of course X has authentication, but once you're in, you're in. There are no elevated windows, screen recording permissions, or any sort of keylogger prevention. That was normal a few decades ago, but the world has moved on since.

There's no real reason it can't do any of that, it just doesn't and there are no real plans to add these features.

I'm not convinced by the "if you run a program you should assume you've already been hit by a CIA 0day". Obviously nobody is dialing into your X11 server from the internet, but this is a relatively easy nobody:nobody -> root/wm-session/whatever elevation of privilege.

josephcsible 5 days ago | parent [-]

If malware is in your X server, doesn't that mean it's running under your user account? And if that's the case, then couldn't it just steal your data right off the filesystem without needing to get it from X?

zahlman 4 days ago | parent | next [-]

The valuable data on your machine might not be something permanently stored in the filesystem, but ephemerally recorded in a process. Say, a memorized password.

josephcsible 4 days ago | parent [-]

Couldn't the malware still get it without having to deal with X? E.g., by attaching to your process as a debugger?

int_19h 4 days ago | parent [-]

Try doing that on a regular Linux install, you might be surprised.

josephcsible 4 days ago | parent [-]

I assume you're talking about Yama, but that's not universally enabled by default. And even if it is, malware could do something like wait for you to open Firefox, then immediately kill it and launch its own version with its own code already baked in.

int_19h 2 days ago | parent [-]

It's enabled in all mainstream distros that I know of. I work on debuggers and this is the single most common issue that people report with attach.

And yes, if the malware is running under the same account that you use to login, it can do a lot, X or no X. That's where various forms of sandboxing come in. And the problem with X is that it is basically impossible to properly sandbox an X app.

lmz 5 days ago | parent | prev [-]

It could be a remote X client on another machine.