CVE-2025-38687
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-362
Ejecución concurrente utilizando recursos compartidos con una incorrecta sincronización (Condición de carrera)
Fecha de publicación:
04/09/2025
Última modificación:
09/01/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
comedi: fix race between polling and detaching<br />
<br />
syzbot reports a use-after-free in comedi in the below link, which is<br />
due to comedi gladly removing the allocated async area even though poll<br />
requests are still active on the wait_queue_head inside of it. This can<br />
cause a use-after-free when the poll entries are later triggered or<br />
removed, as the memory for the wait_queue_head has been freed. We need<br />
to check there are no tasks queued on any of the subdevices&#39; wait queues<br />
before allowing the device to be detached by the `COMEDI_DEVCONFIG`<br />
ioctl.<br />
<br />
Tasks will read-lock `dev->attach_lock` before adding themselves to the<br />
subdevice wait queue, so fix the problem in the `COMEDI_DEVCONFIG` ioctl<br />
handler by write-locking `dev->attach_lock` before checking that all of<br />
the subdevices are safe to be deleted. This includes testing for any<br />
sleepers on the subdevices&#39; wait queues. It remains locked until the<br />
device has been detached. This requires the `comedi_device_detach()`<br />
function to be refactored slightly, moving the bulk of it into new<br />
function `comedi_device_detach_locked()`.<br />
<br />
Note that the refactor of `comedi_device_detach()` results in<br />
`comedi_device_cancel_all()` now being called while `dev->attach_lock`<br />
is write-locked, which wasn&#39;t the case previously, but that does not<br />
matter.<br />
<br />
Thanks to Jens Axboe for diagnosing the problem and co-developing this<br />
patch.
Impacto
Puntuación base 3.x
4.70
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.14 (incluyendo) | 5.4.297 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.241 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.190 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.149 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.103 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.43 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.15.11 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.16 (incluyendo) | 6.16.2 (excluyendo) |
| cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/017198079551a2a5cf61eae966af3c4b145e1f3b
- https://git.kernel.org/stable/c/0f989f9d05492028afd2bded4b42023c57d8a76e
- https://git.kernel.org/stable/c/35b6fc51c666fc96355be5cd633ed0fe4ccf68b2
- https://git.kernel.org/stable/c/5724e82df4f9a4be62908362c97d522d25de75dd
- https://git.kernel.org/stable/c/5c4a2ffcbd052c69bbf4680677d4c4eaa5a252d4
- https://git.kernel.org/stable/c/71ca60d2e631cf9c63bcbc7017961c61ff04e419
- https://git.kernel.org/stable/c/cd4286123d6948ff638ea9cd5818ae4796d5d252
- https://git.kernel.org/stable/c/d85fac8729c9acfd72368faff1d576ec585e5c8f
- https://git.kernel.org/stable/c/fe67122ba781df44a1a9716eb1dfd751321ab512
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html



