libinput: format string vulnerability when using xf86-input-libinput — GLSA 202310-14

A vulnerability has been discovered in libinput where an attacker may run malicous code by exploiting a format string vulnerability.

Affected packages

dev-libs/libinput on all architectures
Affected versions < 1.20.1
Unaffected versions >= 1.20.1

Background

A library to handle input devices in Wayland and, via xf86-input-libinput, in X.org.

Description

An attacker may be able to run malicious code by exploiting a format string vulnerability. Please review the CVE identifier referenced below for details.

Impact

When a device is detected by libinput, libinput logs several messages through log handlers set up by the callers. These log handlers usually eventually result in a printf call. Logging happens with the privileges of the caller, in the case of Xorg this may be root. The device name ends up as part of the format string and a kernel device with printf-style format string placeholders in the device name can enable an attacker to run malicious code. An exploit is possible through any device where the attacker controls the device name, e.g. /dev/uinput or Bluetooth devices.

Workaround

There is no known workaround at this time.

Resolution

All libinput users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-libs/libinput-1.20.1"
 

References

Release date
October 26, 2023

Latest revision
October 26, 2023: 1

Severity
high

Exploitable
remote

Bugzilla entries