Vulnerabilidad en kernel de Linux (CVE-2022-48941)
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:
22/08/2024
Última modificación:
19/06/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ice: corrige el restablecimiento y la eliminación simultáneos de VF. El commit c503e63200c6 ("ice: deja de procesar mensajes VF durante el desmontaje") introdujo un indicador de estado del controlador, ICE_VF_DEINIT_IN_PROGRESS, cuyo objetivo es evitar algunos problemas con el manejo simultáneo de mensajes de VF mientras se derriban los VF. Este cambio fue motivado por accidentes causados al derribar y levantar VF en rápida sucesión. Resulta que la solución en realidad introduce problemas con el controlador VF causados porque el PF ya no responde a ningún mensaje enviado por el VF durante su rutina .remove. Esto da como resultado que el VF elimine potencialmente su memoria DMA antes de que el PF haya cerrado las colas de dispositivos. Además, la solución en realidad no resuelve los problemas de concurrencia dentro del controlador Ice. Es posible que un VF inicie un reinicio justo antes de que el driver de hielo elimine los VF. Esto puede provocar que la tarea de eliminación funcione simultáneamente mientras se restablece el VF. Esto da como resultado una corrupción de memoria similar y pánicos supuestamente solucionados por esa confirmación. Corrija esta simultaneidad desde la raíz protegiendo los flujos de reinicio y eliminación utilizando el VF cfg_lock existente. Esto garantiza que no podamos eliminar el VF mientras se estén realizando tareas críticas pendientes, como un mensaje virtchnl o un reinicio. Este cambio de bloqueo también soluciona la causa raíz solucionada originalmente mediante el commit c503e63200c6 ("ice: Detener el procesamiento de mensajes VF durante el desmontaje"), por lo que simplemente podemos revertirlo. Tenga en cuenta que mantuve estos dos cambios juntos porque simplemente revertir el compromiso original dejaría al driver vulnerable a peores condiciones de ejecución.
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:*:*:*:*:*:*:*:* | 5.10.104 (excluyendo) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.26 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 5.16.12 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



