CVE-2022-50709 in Linux
Sumário
de VulDB • 13/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
wifi: ath9k: evitar leitura de memória não inicializada em ath9k_htc_rx_msg()
O syzbot está relatando um valor não inicializado em ath9k_htc_rx_msg()[1], pois ioctl(USB_RAW_IOCTL_EP_WRITE) pode chamar ath9k_hif_usb_rx_stream() com pkt_len = 0, mas ath9k_hif_usb_rx_stream() usa __dev_alloc_skb(pkt_len + 32, GFP_ATOMIC) baseado na suposição de que pkt_len é válido. Como resultado, ath9k_hif_usb_rx_stream() aloca um skb com memória não inicializada e ath9k_htc_rx_msg() está lendo a partir dessa memória não inicializada.
Como os bytes acessados por ath9k_htc_rx_msg() só são conhecidos até que ath9k_htc_rx_msg() seja chamado, seria difícil verificar o pkt_len mínimo válido na linha "if (pkt_len > 2 * MAX_RX_BUF_SIZE) {" em ath9k_hif_usb_rx_stream().
Temos duas opções. Uma é contornar o problema adicionando __GFP_ZERO para que ath9k_htc_rx_msg() veja 0 se pkt_len for inválido. A outra é permitir que ath9k_htc_rx_msg() valide pkt_len antes de acessar. Este patch escolheu a segunda opção.
Observe que não tenho certeza se a condição do limite está correta, pois não consigo encontrar detalhes sobre o comprimento possível dos pacotes usado por este protocolo.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.