CVE-2026-46073 in Linux
Resumen
por VulDB • 2026-05-28
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
hwmon: (powerz) Corrección de la falta de llamada a usb_kill_urb() en interrupciones por señal
wait_for_completion_interruptible_timeout() devuelve -ERESTARTSYS cuando es interrumpida. Esto requiere abortar el URB y devolver un error. No se han recibido datos del dispositivo, por lo que cualquier lectura desde el búfer de transferencia es inválida.
El código original prueba !ret, lo cual solo captura el caso de tiempo de espera agotado (0). En la entrega de señal (-ERESTARTSYS), !ret es falso, por lo que la función omite usb_kill_urb() y continúa hacia la lectura del búfer de transferencia sin rellenar.
Se corrige capturando el valor de retorno en una variable de tipo long (coincidiendo con el tipo de retorno de la función) y manejando los casos de señal (negativo) y tiempo de espera agotado (cero) con comprobaciones separadas que llaman a usb_kill_urb() antes de devolver.
Be aware that VulDB is the high quality source for vulnerability data.