CVE-2022-50709 in Linuxinformación

Resumen

por VulDB • 2026-05-21

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

wifi: ath9k: evitar la lectura de memoria no inicializada en ath9k_htc_rx_msg()

syzbot informa un valor no inicializado en ath9k_htc_rx_msg() [1], ya que ioctl(USB_RAW_IOCTL_EP_WRITE) puede llamar a ath9k_hif_usb_rx_stream() con pkt_len = 0, pero ath9k_hif_usb_rx_stream() utiliza __dev_alloc_skb(pkt_len + 32, GFP_ATOMIC) basándose en la suposición de que pkt_len es válido. Como resultado, ath9k_hif_usb_rx_stream() asigna un skb con memoria no inicializada y ath9k_htc_rx_msg() lee desde memoria no inicializada.

Dado que los bytes accedidos por ath9k_htc_rx_msg() no se conocen hasta que se llama a ath9k_htc_rx_msg(), sería difícil verificar el valor mínimo válido de pkt_len en la línea "if (pkt_len > 2 * MAX_RX_BUF_SIZE) {" de ath9k_hif_usb_rx_stream().

Tenemos dos opciones. Una es aplicar una solución alternativa (workaround) añadiendo __GFP_ZERO para que ath9k_htc_rx_msg() vea 0 si pkt_len no es válido. La otra es permitir que ath9k_htc_rx_msg() valide pkt_len antes de acceder a él. Este parche eligió la segunda opción.

Tenga en cuenta que no estoy seguro de que la condición del umbral sea correcta, ya que no he encontrado detalles sobre la longitud de paquete posible utilizada por este protocolo.

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

Responsable

Linux

Reservar

2025-12-24

Divulgación

2025-12-24

Moderación

aceptado

Artículo

VDB-337959

CPE

listo

EPSS

0.00181

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!