CVE-2022-49326

rtl818x: Prevent using not initialized queues

State
Published
Severity
5.5 Medium
Published
Feb 26, 2025
Updated
May 11, 2026
Reserved
Feb 26, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

rtl818x: Prevent using not initialized queues

Using not existing queues can panic the kernel with rtl8180/rtl8185 cards. Ignore the skb priority for those cards, they only have one tx queue. Pierre Asselin (pa@panix.com) reported the kernel crash in the Gentoo forum:

https://forums.gentoo.org/viewtopic-t-1147832-postdays-0-postorder-asc-start-25.html

He also confirmed that this patch fixes the issue. In summary this happened:

After updating wpa_supplicant from 2.9 to 2.10 the kernel crashed with a "divide error: 0000" when connecting to an AP. Control port tx now tries to use IEEE80211_AC_VO for the priority, which wpa_supplicants starts to use in 2.10.

Since only the rtl8187se part of the driver supports QoS, the priority of the skb is set to IEEE80211_AC_BE (2) by mac80211 for rtl8180/rtl8185 cards.

rtl8180 is then unconditionally reading out the priority and finally crashes on drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c line 544 without this patch: idx = (ring->idx + skb_queue_len(&ring->queue)) % ring->entries

"ring->entries" is zero for rtl8180/rtl8185 cards, tx_ring[2] never got initialized.

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

  • CWE-908 Use of Uninitialized Resource

Affected Products

ProductVersions
LinuxLinux
  • fd6564fcdc0bfcd432e6e939f9538acc3905d08a to before b5dca2cd3f0239512da808598b4e70557eb4c2a1Affected
  • fd6564fcdc0bfcd432e6e939f9538acc3905d08a to before d7e30dfc166d33470bba31a42f9bbc346e5409d5Affected
  • fd6564fcdc0bfcd432e6e939f9538acc3905d08a to before 9d5e96cc1f1720019ce27b127a31695148d38bb0Affected
  • fd6564fcdc0bfcd432e6e939f9538acc3905d08a to before b8ce58ab80faaea015c206382041ff3bcf5495ffAffected
  • fd6564fcdc0bfcd432e6e939f9538acc3905d08a to before 769ec2a824deae2f1268dfda14999a4d14d0d0c5Affected
  • fd6564fcdc0bfcd432e6e939f9538acc3905d08a to before 6ad81ad0cf5744738ce94c8e64051ddd80a1734cAffected
  • fd6564fcdc0bfcd432e6e939f9538acc3905d08a to before 9ad1981fc4de3afb7db3e8eb5a6a52d4c7d0d577Affected
  • fd6564fcdc0bfcd432e6e939f9538acc3905d08a to before 98e55b0b876bde3353f4e074883d66ecb55c65a3Affected
  • fd6564fcdc0bfcd432e6e939f9538acc3905d08a to before 746285cf81dc19502ab238249d75f5990bd2d231Affected
LinuxLinux
  • 3.15Affected
  • before 3.15Not affected
  • 4.9.318 through 4.9.*Not affected
  • 4.14.283 through 4.14.*Not affected
  • 4.19.247 through 4.19.*Not affected
  • 5.4.198 through 5.4.*Not affected
  • 5.10.121 through 5.10.*Not affected
  • 5.15.46 through 5.15.*Not affected
  • 5.17.14 through 5.17.*Not affected
  • 5.18.3 through 5.18.*Not affected
  • 5.19 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.