All vulnerabilities
CVE-2026-97516

Linux: wifi: rtw88: Add NULL check for chip->edcca_th in rtw_fw_adaptivity_result()

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.16%Chance of exploitation activity in the next 30 days, higher than 4% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in0b58a5ac9170a6f5e6425f8e1a4b3e1d9c2bf53dAlso 6fa23cafaf30f4877e357f8eebcff00dff4aa9cb, 1d1f250432cd8704c3c125168887f9724021c81aCVE List
Published24 Sep 2026Updated 3 Oct 2026CVE List

What fixes it

  • 0b58a5ac9170a6f5e6425f8e1a4b3e1d9c2bf53dLinuxCVE List
  • 6fa23cafaf30f4877e357f8eebcff00dff4aa9cbLinuxCVE List
  • 1d1f250432cd8704c3c125168887f9724021c81aLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

wifi: rtw88: Add NULL check for chip->edcca_th in rtw_fw_adaptivity_result()

It was recently reported that rtw_fw_adaptivity_result() in fw.c dereferences rtwdev->chip->edcca_th without a NULL check. The issue is that devices with the 8821CE chip don't define edcca_th in their chip info. As a result, when rtw_fw_adaptivity_result() tries to dereference it, the kernel triggers an oops.

Add a NULL check for edcca_th before dereferencing it in rtw_fw_adaptivity_result() in fw.c. Placing the check at the function entry avoids logging any garbage values.

This change does not address the root cause for this behavior, but it prevents the NULL dereference and the resulting oops while a more permanent solution is developed.

Tested on a 8822CE chip which defines edcca_th, so this issue is not present on it, but it still uses this driver and I can verify there are no regressions.

Text from CVE List

Affected versions 12

  • Linuxaffected: fe7bc23a8c5eba8a49061c1d15d0a9d45ef18130 before a8cdb18ef80d67790d8611ba94ae3d81901c9e04CVE List
  • Linuxaffected: fe7bc23a8c5eba8a49061c1d15d0a9d45ef18130 before 0b58a5ac9170a6f5e6425f8e1a4b3e1d9c2bf53dCVE List
  • Linuxaffected: fe7bc23a8c5eba8a49061c1d15d0a9d45ef18130 before 6fa23cafaf30f4877e357f8eebcff00dff4aa9cbCVE List
  • Linuxaffected: fe7bc23a8c5eba8a49061c1d15d0a9d45ef18130 before 1d1f250432cd8704c3c125168887f9724021c81aCVE List
  • Linuxaffected: fe7bc23a8c5eba8a49061c1d15d0a9d45ef18130 before d5e6f353ce1e1c25b8458ea390ed09d2377412c5CVE List
  • Linuxaffected: 5.16CVE List
  • Linuxunaffected: all versions before 5.16CVE List
  • Linuxunaffected: 6.1.189 through 6.1.*CVE List
  • Linuxunaffected: 6.6.158 through 6.6.*CVE List
  • Linuxunaffected: 6.12.111 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2CVE List

References 5