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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-35093
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 19:43 UTC · Revision 1
Source evidence
Libinput: libinput: unauthorized code execution and information disclosure through lua bytecode plugins
core-osv · Original sourcePublished 1 Apr 2026, 13:54 UTC
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.
osv:CVE-2026-35093
Complete source record
{
"id": "885f64b484f53d7873f1cc78a8524517b6e83a95426fa5cae815ff19b335ad95",
"url": "https://osv.dev/vulnerability/CVE-2026-35093",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Libinput: libinput: unauthorized code execution and information disclosure through lua bytecode plugins",
"summary": "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.",
"evidence": "osv:CVE-2026-35093",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-35093",
"aliases": [
"CVE-2026-35093"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://gitlab.freedesktop.org/libinput/libinput",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "faf6f27dfe2dd19b21981892c8d89ed9f087e462"
},
{
"introduced": "7ad8b37ffcc71aceb8eb4d079d22490e87168f49"
},
{
"fixed": "1920686963fe224f7d2f4fe195cbed651e11d455"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:freedesktop:libinput:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "1.30.3"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:freedesktop:libinput:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.30.4"
},
{
"fixed": "1.31.1"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"1.31.0",
"1.30.2",
"1.30.901",
"1.30.1",
"1.30.0",
"1.29.902",
"1.29.901",
"1.29.0",
"1.28.903",
"1.28.902",
"1.28.901",
"1.28.1",
"1.28.0",
"1.27.1",
"1.27.0",
"1.26.2",
"1.26.1",
"1.26.0",
"1.25.0",
"1.24.0",
"1.23.0",
"1.22.0",
"1.21.0",
"1.20.0",
"1.19.901",
"1.19.2",
"1.19.1",
"1.19.0",
"1.18.901",
"1.18.0",
"1.17.901",
"1.17.0",
"1.16.902",
"1.16.901",
"1.16.1",
"1.16.0",
"1.15.902",
"1.15.901",
"1.15.3",
"1.15.2",
"1.15.1",
"1.15.0",
"1.14.901",
"1.14.1",
"1.14.0",
"1.13.902",
"1.13.901",
"1.13.0",
"1.12.902",
"1.12.901",
"1.12.3",
"1.12.2",
"1.12.1",
"1.12.0",
"1.11.903",
"1.11.902",
"1.11.901",
"1.11.0",
"1.10.902",
"1.10.901",
"1.10.0",
"1.9.902",
"1.9.901",
"1.9.1",
"1.9.0",
"1.8.902",
"1.8.901",
"1.8.0",
"1.7.902",
"1.7.901",
"1.7.0",
"1.6.902",
"1.6.901",
"1.6.0",
"1.5.902",
"1.5.901",
"1.5.2",
"1.5.1",
"1.5.0",
"1.4.901",
"1.4.0",
"1.3.901",
"1.3.0",
"1.2.903",
"1.2.902",
"1.2.901",
"1.2.2",
"1.2.1",
"1.2.0",
"1.1.902",
"1.1.901",
"1.1.4",
"1.1.3",
"1.1.2",
"1.1.1",
"1.1.0",
"1.0.0",
"0.99.1",
"0.21.0",
"0.20.0",
"0.19.0",
"0.18.0",
"0.17.0",
"0.16.0",
"0.15.0",
"0.14.1",
"0.14.0",
"0.13.0",
"0.12.0",
"0.11.0",
"0.10.0",
"0.9.0",
"0.8.0",
"0.7.0",
"0.6.0",
"0.5.0",
"0.4.0",
"0.3.0",
"0.2.0",
"0.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-35093.json"
}
}
],
"modified": "2026-10-28T02:30:38.715580921Z",
"provider": "osv",
"references": [
"https://access.redhat.com/downloads/content/package-browser/",
"https://gitlab.freedesktop.org/libinput/libinput/-/work_items/1271",
"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-35093.json",
"https://access.redhat.com/security/cve/CVE-2026-35093",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35093.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-35093",
"https://bugzilla.redhat.com/show_bug.cgi?id=2453839"
],
"provider_metadata": {
"cwe_ids": [
"CWE-94"
],
"cna_assigner": "redhat",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35093.json"
}
},
"related_cves": [
{
"value": "CVE-2026-35093",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 506297,
"published_at": "2026-04-01T13:54:00.189+00:00"
}