La biblioteca libinput 1.20.1, que proporciona una pila de entrada unificada que le permite utilizar los mismos medios para procesar eventos desde dispositivos de entrada en entornos basados en Wayland y X.Org, ha eliminado una vulnerabilidad (CVE-2022-1215), que le permite organizar la ejecución de su código al conectar un dispositivo de entrada especialmente modificado/emulado al sistema. El problema se manifiesta en entornos basados en X.Org y Wayland, y puede explotarse tanto al conectar dispositivos localmente como al manipular dispositivos con interfaz Bluetooth. Si el servidor X se ejecuta como root, la vulnerabilidad permite que el código se ejecute con privilegios elevados.
El problema se debe a un error de formato de línea en el código responsable de enviar la información de conexión del dispositivo al registro. En particular, la función evdev_log_msg, mediante una llamada a snprintf, cambió la cadena de formato original de la entrada del registro, a la que se agregó el nombre del dispositivo como prefijo. A continuación, la cadena modificada se pasó a la función log_msg_va, que a su vez utilizó la función printf. Por lo tanto, el primer argumento de printf, al cual se aplicó el análisis de caracteres de formato, contenía datos externos no validados, y un atacante podría iniciar la corrupción de la pila haciendo que el dispositivo devolviera un nombre que contuviera caracteres de formato de cadena (por ejemplo, "Evil %s") .
Fuente: opennet.ru