CVE-2026-35093: Libinput: libinput: unauthorized code execution and information disclosure through lua bytecode plugins
A flaw was found in libinput. A local attacker who can place a specially crafted Lua bytecode file in certain system or user configuration directories can bypass security restrictions. This allows the attacker to run unauthorized code with the same permissions as the program using libinput, such as a graphical compositor. This could lead to the attacker monitoring keyboard input and sending that information to an external location.
Other sources
An attacker that can deploy a pre-compiled lua bytecode file in {/usr/share,/etc}/libinput/plugins and/or XDGCONFIGHOME/libinput/plugins can run unrestricted code in the process that uses libinput, typically the compositor. Lua bytecode is not verified at runtime and the sandboxing restrictions are no longer in effect. This allows an attacker to monitor any keyboard events and send those to an external destination and/or execute virtually any code under the calling process' privileges. For the exploit to work, lua plugins must be enabled in libinput and loaded by the compositor. If libinput is compiled with -Dautoload-plugins any plugin is loaded automatically (Fedora 43 and 44). The XDGCONFIGHOME directory is only loaded if enabled by the compositor (e.g. mutter 50 does this). The attacker must be able to deploy a lua plugin in one of the directories loaded by libinput.
— Red Hat
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-35093?
CVE-2026-35093 is rated as a high severity vulnerability due to its potential for unauthorized code execution and information disclosure.
How does CVE-2026-35093 allow for unauthorized access?
CVE-2026-35093 allows a local attacker to bypass security restrictions by placing a specially crafted Lua bytecode file in specific configuration directories.
Which software is affected by CVE-2026-35093?
CVE-2026-35093 specifically affects the libinput library developed by freedesktop.org.
How can I mitigate CVE-2026-35093 on my systems?
To mitigate CVE-2026-35093, ensure that proper access controls are in place to prevent unauthorized users from modifying configuration directories.
What should I do if I am impacted by CVE-2026-35093?
If impacted by CVE-2026-35093, update to the latest version of libinput that addresses this vulnerability.