Vulnerability · Published Dec 24, 2025 · Assigned by Linux

CVE-2022-50709wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg()

Unrated

In plain English

A security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 12% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS )–Not rated
Exploit odds (30 days)0.2%top 88.0% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg() syzbot is reporting uninit value at ath9k_htc_rx_msg() [1], for ioctl(USB_RAW_IOCTL_EP_WRITE) can call ath9k_hif_usb_rx_stream() with pkt_len = 0 but ath9k_hif_usb_rx_stream() uses __dev_alloc_skb(pkt_len + 32, GFP_ATOMIC) based on an assumption that pkt_len is valid. As a result, ath9k_hif_usb_rx_stream() allocates skb with uninitialized memory and ath9k_htc_rx_msg() is reading from uninitialized memory. Since bytes accessed by ath9k_htc_rx_msg() is not known until ath9k_htc_rx_msg() is called, it would be difficult to check minimal valid pkt_len at "if (pkt_len > 2 * MAX_RX_BUF_SIZE) {" line in ath9k_hif_usb_rx_stream(). We have two choices. One is to workaround by adding __GFP_ZERO so that ath9k_htc_rx_msg() sees 0 if pkt_len is invalid. The other is to let ath9k_htc_rx_msg() validate pkt_len before accessing. This patch chose the latter. Note that I'm not sure threshold condition is correct, for I can't find details on possible packet length used by this protocol.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.0.3-1DEBIAN-CVE-2022-50709
Debian:13linux6.0.3-1DEBIAN-CVE-2022-50709
Debian:14linux6.0.3-1DEBIAN-CVE-2022-50709
Ubuntu:22.04:LTSlinux5.15.0-60.66UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-aws5.15.0-1030.34UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-azure5.15.0-1033.40UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1033.40.1UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-gcp5.15.0-1029.36UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-gke5.15.0-1027.32UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1015.19UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-ibm5.15.0-1025.28UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1025.30UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-kvm5.15.0-1028.33UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-60.66UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1017.17UBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-oracle5.15.0-1029.35UBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-raspi5.15.0-1024.26UBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2022-50709
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2022-50709
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2022-50709

Affected products (as reported)

VendorProductVersions
Linux Linux fb9987d0f748c983bb795a86f47522313f701a08 – before f3d2a3b7e290d0bdbddfcee5a6c3d922e2b7e02afb9987d0f748c983bb795a86f47522313f701a08 – before 84242f15f911f34aec9b22f99d1e9bff19723dbefb9987d0f748c983bb795a86f47522313f701a08 – before 2c485f4f2a64258acc5228e78ffb828c68d9e770fb9987d0f748c983bb795a86f47522313f701a08 – before 9661724f6206bd606ecf13acada676a9975d230bfb9987d0f748c983bb795a86f47522313f701a08 – before b1b4144508adfc585e43856b31baaf9008a3beb4fb9987d0f748c983bb795a86f47522313f701a08 – before 0d2649b288b7b9484e3d4380c0d6c4720a17e473fb9987d0f748c983bb795a86f47522313f701a08 – before 4891a50f5ed8bfcb8f2a4b816b0676f398687783fb9987d0f748c983bb795a86f47522313f701a08 – before b383e8abed41cc6ff1a3b34de75df9397fa4878c
Linux Linux 2.6.35

References