Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2022-49132)

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/02/2025
Última modificación:
26/02/2025

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ath11k: pci: se corrige el fallo en suspensión si no se encuentra el archivo de la placa Mario informó que el kernel se bloqueaba en suspensión si ath11k no podía encontrar un archivo de placa: [ 473.693286] PM: Suspendiendo el sistema (s2idle) [ 473.693291] printk: Suspendiendo consola(s) (use no_console_suspend para depurar) [ 474.407787] ERROR: no se puede manejar el error de página para la dirección: 0000000000002070 [ 474.407791] #PF: acceso de lectura de supervisor en modo kernel [ 474.407794] #PF: error_code(0x0000) - página no presente [ 474.407798] PGD 0 P4D 0 [ 474.407801] Ups: 0000 [#1] PREEMPT SMP NOPTI [ 474.407805] CPU: 2 PID: 2350 Comm: kworker/u32:14 Contaminado: GW 5.16.0 #248 [...] [ 474.407868] Rastreo de llamadas: [ 474.407870] [ 474.407874] ? _raw_spin_lock_irqsave+0x2a/0x60 [ 474.407882] ? lock_timer_base+0x72/0xa0 [ 474.407889] ? _raw_spin_unlock_irqrestore+0x29/0x3d [ 474.407892] ? try_to_del_timer_sync+0x54/0x80 [ 474.407896] ath11k_dp_rx_pktlog_stop+0x49/0xc0 [ath11k] [ 474.407912] ath11k_core_suspend+0x34/0x130 [ath11k] [ 474.407923] ath11k_pci_pm_suspend+0x1b/0x50 [ath11k_pci] [ 474.407928] pci_pm_suspend+0x7e/0x170 [ 474.407935] ? pci_pm_freeze+0xc0/0xc0 [ 474.407939] dpm_run_callback+0x4e/0x150 [ 474.407947] __device_suspend+0x148/0x4c0 [ 474.407951] async_suspend+0x20/0x90 dmesg-efi-164255130401001: Ups #1 Parte 1 [ 474.407955] async_run_entry_fn+0x33/0x120 [ 474.407959] process_one_work+0x220/0x3f0 [ 474.407966] worker_thread+0x4a/0x3d0 [ 474.407971] kthread+0x17a/0x1a0 [ 474.407975] ? process_one_work+0x3f0/0x3f0 [ 474.407979] ? set_kthread_struct+0x40/0x40 [ 474.407983] ret_from_fork+0x22/0x30 [ 474.407991] El problema aquí es que la carga del archivo de la placa ocurre después de que ath11k_pci_probe() retorna exitosamente (la inicialización de ath11k ocurre de manera asincrónica) y el controlador de suspensión aún está habilitado, por supuesto fallando ya que ath11k no está inicializado correctamente. Solucione esto marcando ATH11K_FLAG_QMI_FAIL durante la suspensión y la reanudación. Probado en: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03003-QCAHSPSWPL_V1_V2_SILICONZ_LITE-2

Impacto