CVE-2022-48858

In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Fix a race on command flush flow Fix a refcount use after free warning due to a race on command entry. Such race occurs when one of the commands releases its last refcount and frees its index and entry while another process running command flush flow takes refcount to this command entry. The process which handles commands flush may see this command as needed to be flushed if the other process released its refcount but didn't release the index yet. Fix it by adding the needed spin lock. It fixes the following warning trace: refcount_t: addition on 0; use-after-free. WARNING: CPU: 11 PID: 540311 at lib/refcount.c:25 refcount_warn_saturate+0x80/0xe0 ... RIP: 0010:refcount_warn_saturate+0x80/0xe0 ... Call Trace: <TASK> mlx5_cmd_trigger_completions+0x293/0x340 [mlx5_core] mlx5_cmd_flush+0x3a/0xf0 [mlx5_core] enter_error_state+0x44/0x80 [mlx5_core] mlx5_fw_fatal_reporter_err_work+0x37/0xe0 [mlx5_core] process_one_work+0x1be/0x390 worker_thread+0x4d/0x3d0 ? rescuer_thread+0x350/0x350 kthread+0x141/0x160 ? set_kthread_struct+0x40/0x40 ret_from_fork+0x1f/0x30 </TASK>
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

23 Jul 2024, 15:07

Type Values Removed Values Added
First Time Linux
Linux linux Kernel
CWE CWE-362
CWE-416
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.0
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net/mlx5: Corregir una ejecución en el flujo de descarga de comandos. Corregir una advertencia de refcount use after free debido a una ejecución en la entrada de comandos. Dicha ejecución ocurre cuando uno de los comandos libera su último recuento y libera su índice y entrada, mientras que otro proceso que ejecuta el flujo de descarga de comandos toma el recuento de esta entrada de comando. El proceso que maneja los comandos de vaciado puede considerar que este comando es necesario para vaciarlo si el otro proceso publicó su recuento pero aún no publicó el índice. Solucionarlo agregando el bloqueo de giro necesario. Corrige el siguiente seguimiento de advertencia: refcount_t: adición en 0; use-after-free. ADVERTENCIA: CPU: 11 PID: 540311 en lib/refcount.c:25 refcount_warn_saturate+0x80/0xe0... RIP: 0010:refcount_warn_saturate+0x80/0xe0... Seguimiento de llamadas: mlx5_cmd_trigger_completions+0x293/0x340 [mlx5_core] mlx5_cmd_flush+0x3a/0xf0 [mlx5_core] enter_error_state+0x44/0x80 [mlx5_core] mlx5_fw_fatal_reporter_err_work+0x37/0xe0 [mlx5_core] Process_one_work+0x1be/0x390 trabajador_thread+0x4d/0x3d0 ? hilo_rescate+0x350/0x350 khilo+0x141/0x160 ? set_kthread_struct+0x40/0x40 ret_from_fork+0x1f/0x30
References () https://git.kernel.org/stable/c/0401bfb27a91d7bdd74b1635c1aae57cbb128da6 - () https://git.kernel.org/stable/c/0401bfb27a91d7bdd74b1635c1aae57cbb128da6 - Patch
References () https://git.kernel.org/stable/c/063bd355595428750803d8736a9bb7c8db67d42d - () https://git.kernel.org/stable/c/063bd355595428750803d8736a9bb7c8db67d42d - Patch
References () https://git.kernel.org/stable/c/1a4017926eeea56c7540cc41b42106746ee8a0ee - () https://git.kernel.org/stable/c/1a4017926eeea56c7540cc41b42106746ee8a0ee - Patch
References () https://git.kernel.org/stable/c/7c519f769f555ff7d9d4ccba3497bbb589df360a - () https://git.kernel.org/stable/c/7c519f769f555ff7d9d4ccba3497bbb589df360a - Patch
References () https://git.kernel.org/stable/c/f3331bc17449f15832c31823f27573f4c0e13e5f - () https://git.kernel.org/stable/c/f3331bc17449f15832c31823f27573f4c0e13e5f - Patch

16 Jul 2024, 13:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-07-16 13:15

Updated : 2024-07-23 15:07


NVD link : CVE-2022-48858

Mitre link : CVE-2022-48858

CVE.ORG link : CVE-2022-48858


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-362

Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

CWE-416

Use After Free