Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

Isn't the use case of apps injecting mouse and cursor events the "security free for all" that Wayland is trying to prevent?

Full disclosure, I am a Wayland skeptic. I don't think your focus on X input security is as justified as you probably think.



I think Wayland's security model was more worried about reading inputs than writing them (i.e. preventing keyloggers). Of course https://www.x.org/archive/X11R7.5/doc/security/XACE-Spec.htm... also exists, so...


Writing events is certainly a potential security problem.

I know in the Windows world, one of the UAC features was that a less privileged process can't send events to an elevated window.

In X11, I think last I checked most distros disable the XTEST extension by default out of security concerns. Skimming the warpd code, they are using XTEST for the X backend.

As I think of the keylogger problem, it's not really privilege escalation, is it? If you're running as the same user as all the other clients, you could ptrace(2) them and intercept their event loops. I guess there are some container-based app deployment solutions now where you could run stuff at different security levels, so maybe it's more of a legit issue now...


If it is implemented it will most likely go through the xdg-desktop-portal, with a policy controlled by compositor.

And most likely it won't be injection of mouse and cursor events, but something higher-level, like focus switching requests.


Are you aware that the use case here is simulating a mouse? Focus switching is not enough.


Ah, I mixed it up with another tool, sorry.

This one looks like a small feature in a compositor and not an external tool, really.

I guess it would take 100-200 LoC to implement in GNOME Mutter.


Then you'd need to implement it in every compositor.

Excuse me for being blunt. I don't know if you understand how shitty of a design you advocate. Solid designs do not require modifying core components to write application level features the original authors did not envision.


Excuse me for being extra blunt. I don't know if you understand how shitty of a design you advocate. Solid designs do not open users to being attacked and their credentials stolen by malicious applications, including sandboxed ones.

Moving cursor around is a compositor's domain, not some arbitrary application's that decided to fiddle with the user's input.


To you it's an arbitrary program. To the user it's a program they want to work.

An API should not be so preachy about which programs can theoretically be written. It should provide broad mechanisms.

It is very frustrating to work with people who think like you do, that 3 or 4 unrelated projects have to carve up narrow exceptions to how the platform works for every single use case, nominally because of theoretical harm of this exploit no one will write, but actually more based on your ego perception that you know better than every other developer on the planet.

So Wayland has this long list of impossible applications which are doable everywhere else. It's a prima donna.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: