Vulnerabilidad en kernel de Linux (CVE-2024-40906)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416
Utilización después de liberación
Fecha de publicación:
12/07/2024
Última modificación:
29/08/2024
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: net/mlx5: detener siempre el temporizador de estado durante la eliminación del controlador. Actualmente, si teardown_hca no se ejecuta durante la eliminación del controlador, mlx5 no detiene el temporizador de estado. Posteriormente, mlx5 continúa con el desmontaje del controlador. Esto puede provocar un error de UAF, lo que resulta en un error de página Ups[1], ya que el temporizador de estado se invoca después de que se liberaron los recursos. Por lo tanto, detenga el monitor de salud incluso si falla Teardown_hca. [1] mlx5_core 0000:18:00.0: E-Switch: Descargar vfs: modo(LEGACY), nvfs(0), necvfs(0), vports activos(0) mlx5_core 0000:18:00.0: E-Switch: Deshabilitar: mode(LEGACY), nvfs(0), necvfs(0), active vports(0) mlx5_core 0000:18:00.0: E-Switch: Desactivar: mode(LEGACY), nvfs(0), necvfs(0), active vports (0) mlx5_core 0000:18:00.0: E-Switch: limpieza mlx5_core 0000:18:00.0: wait_func:1155:(pid 1967079): TEARDOWN_HCA(0x103) tiempo de espera. Provocará una fuga de un recurso de comando mlx5_core 0000:18:00.0: mlx5_function_close:1288:(pid 1967079): falló el desmontaje_hca, omitió la limpieza ERROR: no se puede manejar el error de página para la dirección: ffffa26487064230 PGD 100c00067 P4D 100c00067 PUD 67 PMD 105ed7067 PTE 0 Vaya: 0000 [#1] PREEMPT SMP PTI CPU: 0 PID: 0 Comunicaciones: intercambiador/0 Contaminado: G OE ------- --- 6.7.0-68.fc38.x86_64 #1 Nombre de hardware: Intel Corporación S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0013.121520200651 15/12/2020 RIP: 0010:ioread32be+0x34/0x60 RSP: 0018:ffffa26480003e58 EFLAGS: 2 RAX: ffffa26487064200 RBX: ffff9042d08161a0 RCX: ffff904c108222c0 RDX: 000000010bbf1b80 RSI: ffffffffc055ddb0 RDI: ffffa26487064230 RBP: ffff9042d08161a0 R08: 0000000000000022 R09: ffff904c108222e8 R10: 00000000000000004 R11: 0000000000000441 R12: ffffffc055ddb0 R13: ffffa26487064200 R14: ffffa26480003f00 R15: ffff904c108222c0 FS: 0000000000000000(0000) GS:ffff904c10800000(0000) 0000000000CS: 0010DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffa26487064230 CR3: 00000002c4420006 CR4: 00000000007706f0 DR0: 0000000000000000 DR1: 0000000000 000000 DR2: 0000000000000000 DR3: 00000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Seguimiento de llamadas: ? __morir+0x23/0x70 ? page_fault_oops+0x171/0x4e0? exc_page_fault+0x175/0x180? asm_exc_page_fault+0x26/0x30? __pfx_poll_health+0x10/0x10 [mlx5_core] ? __pfx_poll_health+0x10/0x10 [mlx5_core] ? ioread32be+0x34/0x60 mlx5_health_check_fatal_sensors+0x20/0x100 [mlx5_core] ? __pfx_poll_health+0x10/0x10 [mlx5_core] poll_health+0x42/0x230 [mlx5_core] ? __next_timer_interrupt+0xbc/0x110? __pfx_poll_health+0x10/0x10 [mlx5_core] call_timer_fn+0x21/0x130? __pfx_poll_health+0x10/0x10 [mlx5_core] __run_timers+0x222/0x2c0 run_timer_softirq+0x1d/0x40 __do_softirq+0xc9/0x2c8 __irq_exit_rcu+0xa6/0xc0 sysvec_apic_timer_interrupt+0x72/0x90 asm_sysvec_apic_timer_interrupt+0x1a/0x20 RIP: 0010:cpuidle_enter_state +0xcc/0x440 ? cpuidle_enter_state+0xbd/0x440 cpuidle_enter+0x2d/0x40 do_idle+0x20d/0x270 cpu_startup_entry+0x2a/0x30 rest_init+0xd0/0xd0 arch_call_rest_init+0xe/0x30 start_kernel+0x709/0xa90 x86_64_start _reservations+0x18/0x30 x86_64_start_kernel+0x96/0xa0 second_startup_64_no_verify+0x18f/0x19b ---[ final de seguimiento 0000000000000000 ]---
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1 (incluyendo) | 6.1.95 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.35 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.9.6 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página