---
id: CVE-2025-38646
title: >-
  wifi: rtw89: avoid NULL dereference when RX problematic packet on unsupported
  6 GHz band
summary: >-
  In the Linux kernel, the following vulnerability has been resolved:


  wifi: rtw89: avoid NULL dereference when RX problematic packet on unsupported
  6 GHz band


  With a quite rare chance, RX report might be problematic to make SW think

  a pa…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 <
    892b29eab44b1803d2cad8e50f1bc2144ef478cb
  - >-
    Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 <
    77a7a48f87d673a68664bebf044214821decbfda
  - >-
    Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 <
    f3527ac15a00916e68ecb495b74dbe6a6c62a06f
  - >-
    Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 <
    4b525630729082f026e7030eafccf89e3add7eae
  - >-
    Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 <
    7e04f01bb94fe61c73cc59f0495c3b6c16a83231
  - Linux 6.4
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T21:05:57.608477Z'
published: '2025-08-22'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T21:12:50.768Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-38646'
references:
  - url: 'https://git.kernel.org/stable/c/892b29eab44b1803d2cad8e50f1bc2144ef478cb'
  - url: 'https://git.kernel.org/stable/c/77a7a48f87d673a68664bebf044214821decbfda'
  - url: 'https://git.kernel.org/stable/c/f3527ac15a00916e68ecb495b74dbe6a6c62a06f'
  - url: 'https://git.kernel.org/stable/c/4b525630729082f026e7030eafccf89e3add7eae'
  - url: 'https://git.kernel.org/stable/c/7e04f01bb94fe61c73cc59f0495c3b6c16a83231'
tags:
  - cve.org
epss: 0.00165
epssPercentile: 0.05817
ingestedAt: '2026-11-05T22:38:32.004Z'
---

## Overview

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

wifi: rtw89: avoid NULL dereference when RX problematic packet on unsupported 6 GHz band

With a quite rare chance, RX report might be problematic to make SW think
a packet is received on 6 GHz band even if the chip does not support 6 GHz
band actually. Since SW won't initialize stuffs for unsupported bands, NULL
dereference will happen then in the sequence, rtw89_vif_rx_stats_iter() ->
rtw89_core_cancel_6ghz_probe_tx(). So, add a check to avoid it.

The following is a crash log for this case.

 BUG: kernel NULL pointer dereference, address: 0000000000000032
 #PF: supervisor read access in kernel mode
 #PF: error_code(0x0000) - not-present page
 PGD 0 P4D 0
 Oops: 0000 [#1] PREEMPT SMP NOPTI
 CPU: 1 PID: 1907 Comm: irq/131-rtw89_p Tainted: G     U             6.6.56-05896-g89f5fb0eb30b #1 (HASH:1400 4)
 Hardware name: Google Telith/Telith, BIOS Google_Telith.15217.747.0 11/12/2024
 RIP: 0010:rtw89_vif_rx_stats_iter+0xd2/0x310 [rtw89_core]
 Code: 4c 89 7d c8 48 89 55 c0 49 8d 44 24 02 48 89 45 b8 45 31 ff eb 11
 41 c6 45 3a 01 41 b7 01 4d 8b 6d 00 4d 39 f5 74 42 8b 43 10 <41> 33 45
 32 0f b7 4b 14 66 41 33 4d 36 0f b7 c9 09 c1 74 d8 4d 85
 RSP: 0018:ffff9f3080138ca0 EFLAGS: 00010246
 RAX: 00000000b8bf5770 RBX: ffff91b5e8c639c0 RCX: 0000000000000011
 RDX: ffff91b582de1be8 RSI: 0000000000000000 RDI: ffff91b5e8c639e6
 RBP: ffff9f3080138d00 R08: 0000000000000000 R09: 0000000000000000
 R10: ffff91b59de70000 R11: ffffffffc069be50 R12: ffff91b5e8c639e4
 R13: 0000000000000000 R14: ffff91b5828020b8 R15: 0000000000000000
 FS:  0000000000000000(0000) GS:ffff91b8efa40000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 0000000000000032 CR3: 00000002bf838000 CR4: 0000000000750ee0
 PKRU: 55555554
 Call Trace:
  <IRQ>
  ? __die_body+0x68/0xb0
  ? page_fault_oops+0x379/0x3e0
  ? exc_page_fault+0x4f/0xa0
  ? asm_exc_page_fault+0x22/0x30
  ? __pfx_rtw89_vif_rx_stats_iter+0x10/0x10 [rtw89_core (HASH:1400 5)]
  ? rtw89_vif_rx_stats_iter+0xd2/0x310 [rtw89_core (HASH:1400 5)]
  __iterate_interfaces+0x59/0x110 [mac80211 (HASH:1400 6)]
  ? __pfx_rtw89_vif_rx_stats_iter+0x10/0x10 [rtw89_core (HASH:1400 5)]
  ? __pfx_rtw89_vif_rx_stats_iter+0x10/0x10 [rtw89_core (HASH:1400 5)]
  ieee80211_iterate_active_interfaces_atomic+0x36/0x50 [mac80211 (HASH:1400 6)]
  rtw89_core_rx_to_mac80211+0xfd/0x1b0 [rtw89_core (HASH:1400 5)]
  rtw89_core_rx+0x43a/0x980 [rtw89_core (HASH:1400 5)]

## Affected

- `Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 < 892b29eab44b1803d2cad8e50f1bc2144ef478cb`
- `Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 < 77a7a48f87d673a68664bebf044214821decbfda`
- `Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 < f3527ac15a00916e68ecb495b74dbe6a6c62a06f`
- `Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 < 4b525630729082f026e7030eafccf89e3add7eae`
- `Linux >= c6aa9a9c47252ac7b07ed6d10459027e2f2a2de0 < 7e04f01bb94fe61c73cc59f0495c3b6c16a83231`
- `Linux 6.4`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
