Vulnerabilidad en wifi: ath5k: do not access array OOB (CVE-2026-46307)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125
Lectura fuera de límites
Fecha de publicación:
08/06/2026
Última modificación:
23/07/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
wifi: ath5k: no acceder al array OOB<br />
<br />
Vincent informa:<br />
> El controlador ath5k parece realizar un acceso de índice de array fuera de límites como<br />
> mostrado por el mensaje del kernel de UBSAN:<br />
> UBSAN: índice de array fuera de límites en drivers/net/wireless/ath/ath5k/base.c:1741:20<br />
> el índice 4 está fuera de rango para el tipo &#39;ieee80211_tx_rate [4]&#39;<br />
> ...<br />
> Traza de Llamada:<br />
> <br />
> dump_stack_lvl+0x5d/0x80<br />
> ubsan_epilogue+0x5/0x2b<br />
> __ubsan_handle_out_of_bounds.cold+0x46/0x4b<br />
> ath5k_tasklet_tx+0x4e0/0x560 [ath5k]<br />
> tasklet_action_common+0xb5/0x1c0<br />
<br />
Es real. &#39;ts->ts_final_idx&#39; puede ser 3 en 5212, así que:<br />
info->status.rates[ts->ts_final_idx + 1].idx = -1;<br />
con el array definido como:<br />
struct ieee80211_tx_rate rates[IEEE80211_TX_MAX_RATES];<br />
mientras que el tamaño es:<br />
#define IEEE80211_TX_MAX_RATES 4<br />
es de hecho erróneo.<br />
<br />
Establecer este centinela &#39;idx = -1&#39; solo si el índice del array es menor que el tamaño del array. Ya que mac80211 no buscará tasas más allá del tamaño (IEEE80211_TX_MAX_RATES).<br />
<br />
Nota: El efecto de la escritura OOB es insignificante. Simplemente sobrescribe el siguiente miembro de info->status, es decir, ack_signal.
Impacto
Puntuación base 3.x
8.30
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.0 (incluyendo) | 5.10.258 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.209 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.175 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.140 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.88 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.18.30 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (incluyendo) | 7.0.7 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/568173ad9bd0b46cc6cd937dea8791e9b5eefa57
- https://git.kernel.org/stable/c/744c19e266b0d2628c5951439195dcef27eadacf
- https://git.kernel.org/stable/c/83226c71af53fb9b3cad40cb9a9a79f36d68c020
- https://git.kernel.org/stable/c/9dd6aae4bc7bfa11088d928670a3315eae542769
- https://git.kernel.org/stable/c/d6869537013b1f21b292342752d97868b79b5934
- https://git.kernel.org/stable/c/d748603f12baff112caa3ab7d39f50100f010dbd
- https://git.kernel.org/stable/c/e9f1081bc775146156def0dbc821b92f35d56afb
- https://git.kernel.org/stable/c/ecb1c163166759dec004c1fdb9709b8a5992fc8e



