CVE-2026-74366 in Linuxinformación

Resumen

por VulDB • 2026-08-15

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

wifi: ath12k: corregir desreferenciación NULL en change_sta_links para enlaces no preparados

_ieee80211_set_active_links() llama a _ieee80211_link_use_channel() por cada enlace recién añadido y emite un WARN_ON_ONCE() si falla. La llamada utiliza assign_on_failure=true, lo que permite que mac80211 continúe a pesar de los fallos del controlador; sin embargo, cuando una validación de canal a nivel de mac80211 falla (por ejemplo, comprobación de combinaciones, DFS o falta de radio disponible), drv_assign_vif_chanctx() nunca se alcanza. Dado que ath12k_mac_vdev_create() solo se llama desde esa ruta, arvif->is_created permanece como falso y arvif->ar sigue siendo NULL para el enlace fallido.

La llamada posterior a drv_change_sta_links() llega a ath12k_mac_op_change_sta_links(), la cual asigna un arsta y establece ahsta->links_map |= BIT(link_id) para el enlace defectuoso antes de comprobar si el enlace está listo. Cuando el vdev nunca se creó, solo se omite station_add(), pero el enlace permanece en links_map.

Cualquier operación posterior que itere sobre links_map y desreferencie arvif->ar sin una comprobación NULL provocará un fallo del sistema. Dos ejemplos observados son la desreferenciación NULL en ath12k_mac_ml_station_remove() durante la desconexión y en ath12k_mac_op_set_key() cuando wpa_supplicant instala las claves PTK.

BUG: No se puede manejar la desreferenciación de puntero NULL del kernel en 0x00000000 pc : ath12k_mac_station_post_remove+0x40/0xe8 [ath12k]
Rastro de llamadas (Call trace): ath12k_mac_station_post_remove+0x40/0xe8 [ath12k]
ath12k_mac_op_sta_state+0xb60/0x1720 [ath12k]
drv_sta_state+0x100/0xbd8 [mac80211]
__sta_info_destroy_part2+0x148/0x178 [mac80211]
ieee80211_set_disassoc+0x500/0x678 [mac80211]

BUG: No se puede manejar la desreferenciación de puntero NULL del kernel en 0x00000000 pc : ath12k_mac_op_set_key+0x1f8/0x2c0 [ath12k]
Rastro de llamadas (Call trace): ath12k_mac_op_set_key+0x1f8/0x2c0 [ath12k]
drv_set_key+0x70/0x100 [mac80211]
ieee80211_key_enable_hw_accel+0x78/0x260 [mac80211]
ieee80211_add_key+0x16c/0x2ac [mac80211]
nl80211_new_key+0x138/0x280 [cfg80211]

Se corrige esto comprobando arvif->is_created antes de llamar a ath12k_mac_alloc_assign_link_sta(). Esto evita que el enlace defectuoso entre en links_map, protegiendo así todas las operaciones posteriores que iteren sobre el mapa de bits. La fiabilidad de arvif->is_created en todas las rutas de error está garantizada por el parche anterior.

Probado-en (Tested-on): WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-0

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Linux

Reservar

2026-08-15

Divulgación

2026-08-15

Moderación

aceptado

Artículo

VDB-390323

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!