In the Linux kernel, the following vulnerability has been resolved: media: uvcvideo: Fix crash during unbind if gpio unit is in use We used the wrong device for the device managed functions. We used the usb device, when we should be using the interface device. If we unbind the driver from the usb interface, the cleanup functions are never called. In our case, the IRQ is never disabled. If an IRQ is triggered, it will try to access memory sections that are already free, causing an OOPS. We cannot use the function devm_request_threaded_irq here. The devm_* clean functions may be called after the main structure is released by uvc_delete. Luckily this bug has small impact, as it is only affected by devices with gpio units and the user has to unbind the device, a disconnect will not trigger this error.
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: media: uvcvideo: Se corrige el fallo durante la desvinculación si la unidad gpio está en uso. Usamos el dispositivo incorrecto para las funciones administradas por el dispositivo. Usamos el dispositivo usb, cuando deberíamos estar usando el dispositivo de interfaz. Si desvinculamos el controlador de la interfaz usb, las funciones de limpieza nunca se llaman. En nuestro caso, la IRQ nunca se deshabilita. Si se activa una IRQ, intentará acceder a secciones de memoria que ya están libres, lo que provocará un OOPS. No podemos usar la función devm_request_threaded_irq aquí. Las funciones de limpieza devm_* pueden llamarse después de que uvc_delete libere la estructura principal. Afortunadamente, este error tiene un impacto pequeño, ya que solo se ve afectado por dispositivos con unidades gpio y el usuario tiene que desvincular el dispositivo, una desconexión no activará este error.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
| Attack Vector | LOCAL |
|---|---|
| Attack Complexity | LOW |
| Privileges Required | LOW |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | NONE |
| Integrity Impact | NONE |
| Availability Impact | HIGH |
| Source | Type | Description |
|---|---|---|
| [email protected] | Primary |
en
NVD-CWE-noinfo
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36865f140> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36865d080> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd369e810c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd384a659c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36865f9c0> | Operating System |
| Vulnerable | CPE |
|---|---|
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |