mirror of
https://github.com/joleuger/vuinputd.git
synced 2026-11-05 01:17:20 +00:00
[GH-ISSUE #3] [FEATURE] Implement Fallbackdm for Seat Isolation for Virtual Input Devices #2
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
joleuger/vuinputd#2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @joleuger on GitHub (Jan 1, 2026).
Original GitHub issue: https://github.com/joleuger/vuinputd/issues/3
Context & Motivation*
A "sandbox escape" vulnerability exists where a sandboxed application (e.g., a Flatpak) that has permission to access a virtual input device can inject keystrokes into the host's desktop environment.
If a virtual keyboard created by the sandbox is attached to the default seat (
seat0), the host's Compositor (Mutter, KWin, etc.) treats it as a physical keyboard. The sandboxed app can then:Alt+F2to open the "Run Command" dialog.Super,Ctrl+Alt+T) to interact with the host shell.To mitigate this, virtual input devices managed by
vuinputdmust be logically isolated from the active user session so that the desktop environment ignores their input.Technical Architecture
This mechanism relies on
udevtagging andsystemd-logindseat management, supported byfallbackdmto ensure no "unowned" seats exist.vuinputd.input) and specific attributes (e.g.,ATTRS{name}=="vuinputd-keyboard").ENV{ID_SEAT}="seat_vuinput"to these devices.systemd-logindto recognize the device as belonging to a separate seat, distinct fromseat0.fallbackdmis running to own the VTs in case no other graphical interface that owns the VT is running. This prevents the isolated seat from accidentally becoming the "active" console input source if the main graphical session terminates.@joleuger commented on GitHub (Feb 19, 2026):
https://github.com/joleuger/fallbackdm