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

Vulnerabilidad en kernel de Linux (CVE-2025-38290)

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:
10/07/2025
Última modificación:
19/11/2025

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: wifi: ath12k: corrección de corrupción de nodos en la lista ar->arvifs. En el flujo de código de recuperación de WLAN actual, ath12k_core_halt() solo reinicializa la cabecera de lista "arvifs". Esto provocará que el nodo de lista inmediatamente posterior a la cabecera de lista se convierta en un nodo de lista inválido. Esto se debe a que el nodo anterior de ese nodo aún apunta a la cabecera de lista "arvifs", pero el siguiente ya no apunta a ese nodo. Cuando se produce una recuperación de WLAN durante la ejecución de una eliminación de vif, y esto ocurre antes de spin_lock_bh(&ar->data_lock) en ath12k_mac_vdev_delete(), list_del() detectará la situación mencionada anteriormente, lo que activará un pánico del kernel. La solución consiste en eliminar y reinicializar todos los nodos de lista vif de la cabecera de lista "arvifs" durante la detención de WLAN. La reinicialización valida los nodos de la lista, garantizando así que list_del() en ath12k_mac_vdev_delete() pueda ejecutarse correctamente. Rastreo de llamadas: __list_del_entry_valid_or_report+0xd4/0x100 (P) ath12k_mac_remove_link_interface.isra.0+0xf8/0x2e4 [ath12k] ath12k_scan_vdev_clean_work+0x40/0x164 [ath12k] cfg80211_wiphy_work+0xfc/0x100 process_one_work+0x164/0x2d0 worker_thread+0x254/0x380 kthread+0xfc/0x100 ret_from_fork+0x10/0x20 The change is mostly copied from the ath11k patch: https://lore.kernel.org/all/20250320053145.3445187-1-quic_stonez@quicinc.com/ Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.3 (incluyendo) 6.6.94 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.12.34 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (incluyendo) 6.15.3 (excluyendo)