CVE-2022-50709

wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg()

State
Published
Severity
Not scored
Published
Dec 24, 2025
Updated
May 11, 2026
Reserved
Dec 24, 2025

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • fb9987d0f748c983bb795a86f47522313f701a08 to before f3d2a3b7e290d0bdbddfcee5a6c3d922e2b7e02aAffected
  • fb9987d0f748c983bb795a86f47522313f701a08 to before 84242f15f911f34aec9b22f99d1e9bff19723dbeAffected
  • fb9987d0f748c983bb795a86f47522313f701a08 to before 2c485f4f2a64258acc5228e78ffb828c68d9e770Affected
  • fb9987d0f748c983bb795a86f47522313f701a08 to before 9661724f6206bd606ecf13acada676a9975d230bAffected
  • fb9987d0f748c983bb795a86f47522313f701a08 to before b1b4144508adfc585e43856b31baaf9008a3beb4Affected
  • fb9987d0f748c983bb795a86f47522313f701a08 to before 0d2649b288b7b9484e3d4380c0d6c4720a17e473Affected
  • fb9987d0f748c983bb795a86f47522313f701a08 to before 4891a50f5ed8bfcb8f2a4b816b0676f398687783Affected
  • fb9987d0f748c983bb795a86f47522313f701a08 to before b383e8abed41cc6ff1a3b34de75df9397fa4878cAffected
LinuxLinux
  • 2.6.35Affected
  • before 2.6.35Not affected
  • 4.14.296 through 4.14.*Not affected
  • 4.19.262 through 4.19.*Not affected
  • 5.4.220 through 5.4.*Not affected
  • 5.10.150 through 5.10.*Not affected
  • 5.15.75 through 5.15.*Not affected
  • 5.19.17 through 5.19.*Not affected
  • 6.0.3 through 6.0.*Not affected
  • 6.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.