Una laguna CVE-2021-39685 ) Ha sido reconocido existe Dispositivo USB , Subsistema del kernel de Linux, proporciona una interfaz de programación para crear dispositivos USB cliente y simulaciones de software de dispositivos USB, lo que puede provocar fugas, bloqueos o ejecución de código arbitrario en el kernel. El ataque es ejecutado por usuarios locales sin privilegios mediante la manipulación de varias clases de dispositivos implementadas en base a la API de dispositivos USB, como rndis, hid, uac1, uac1_legacy y uac2.
Este problema se ha solucionado en la actualización del kernel de Linux. 5.15.8 , 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 y 4.4.295 Publicar otro día. En la versión de lanzamiento, el problema aún no está resuelto ( Debian , Ubuntu , RHEL , SUSE , Fedora , arco ).Una El prototipo de exploit ha sido Esté preparado para mostrar la vulnerabilidad.
El problema se debe a un desbordamiento del búfer en el controlador de solicitud de transferencia en los controladores de dispositivo rndis, hid, uac1, uac1_legacy y uac2. Como resultado de explotar esta vulnerabilidad, un atacante sin privilegios puede acceder a la memoria del kernel enviando una solicitud de control especial con un valor de campo wLength que excede el tamaño del búfer estático. El búfer estático siempre tiene 4096 bytes asignados (USB_COMP_EP0_BUFSIZ). El ataque puede leer o escribir hasta 65 KB de datos en la memoria del kernel desde un proceso sin privilegios en el espacio del usuario.