CVE-2022-48876: wifi: mac80211: fix initialization of rx->link and rx->link_sta
In the Linux kernel, the following vulnerability has been resolved:
wifi: mac80211: fix initialization of rx->link and rx->link_sta
There are some codepaths that do not initialize rx->link_sta properly. This
causes a crash in places which assume that rx->link_sta is valid if rx->sta
is valid.
One known instance is triggered by __ieee80211_rx_h_amsdu being called from
fast-rx. It results in a crash like this one:
BUG: kernel NULL pointer dereference, address: 00000000000000a8
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page PGD 0 P4D 0
Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 1 PID: 506 Comm: mt76-usb-rx phy Tainted: G E 6.1.0-debian64x+1.7 #3
Hardware name: ZOTAC ZBOX-ID92/ZBOX-IQ01/ZBOX-ID92/ZBOX-IQ01, BIOS B220P007 05/21/2014
RIP: 0010:ieee80211_deliver_skb+0x62/0x1f0 [mac80211]
Code: 00 48 89 04 24 e8 9e a7 c3 df 89 c0 48 03 1c c5 a0 ea 39 a1 4c 01 6b 08 48 ff 03 48
83 7d 28 00 74 11 48 8b 45 30 48 63 55 44 <48> 83 84 d0 a8 00 00 00 01 41 8b 86 c0
11 00 00 8d 50 fd 83 fa 01
RSP: 0018:ffff999040803b10 EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffffb9903f496480 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff999040803ce0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff8d21828ac900
R13: 000000000000004a R14: ffff8d2198ed89c0 R15: ffff8d2198ed8000
FS: 0000000000000000(0000) GS:ffff8d24afe80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000000000a8 CR3: 0000000429810002 CR4: 00000000001706e0
Call Trace:
<TASK>
__ieee80211_rx_h_amsdu+0x1b5/0x240 [mac80211]
? ieee80211_prepare_and_rx_handle+0xcdd/0x1320 [mac80211]
? __local_bh_enable_ip+0x3b/0xa0
ieee80211_prepare_and_rx_handle+0xcdd/0x1320 [mac80211]
? prepare_transfer+0x109/0x1a0 [xhci_hcd]
ieee80211_rx_list+0xa80/0xda0 [mac80211]
mt76_rx_complete+0x207/0x2e0 [mt76]
mt76_rx_poll_complete+0x357/0x5a0 [mt76]
mt76u_rx_worker+0x4f5/0x600 [mt76_usb]
? mt76_get_min_avg_rssi+0x140/0x140 [mt76]
__mt76_worker_fn+0x50/0x80 [mt76]
kthread+0xed/0x120
? kthread_complete_and_exit+0x20/0x20
ret_from_fork+0x22/0x30
Since the initialization of rx->link and rx->link_sta is rather convoluted
and duplicated in many places, clean it up by using a helper function to
set it.
[remove unnecessary rx->sta->sta.mlo check]
Security readout for executives and security teams
Plain-English summary
CVE-2022-48876 is a Linux kernel Wi-Fi bug that can crash affected systems when specific mac80211 receive paths mishandle internal link state. The public bundle supports an availability impact, not data theft or remote code execution. Prioritize systems that depend on Linux Wi-Fi for operations.
Executive priority
Set a moderate priority where Linux Wi-Fi availability matters. Escalate if affected devices are operationally critical or remotely managed only over Wi-Fi. Current sources do not justify emergency response for non-Wi-Fi Linux systems.
Technical view
The flaw is in Linux mac80211 initialization of rx->link and rx->link_sta. Some paths leave rx->link_sta unset while rx->sta is valid, causing a NULL pointer dereference during fast-rx A-MSDU handling, including a documented ieee80211_deliver_skb crash path.
Likely exposure
Exposure is most relevant to Linux systems using the mac80211 Wi-Fi stack in affected kernel ranges identified by the CVE data, including 6.1-era builds before the referenced stable fixes. Exact distro exposure depends on vendor backports.
Exploitation context
The source bundle provides a kernel crash trace and stable fix references. It does not cite active exploitation, KEV status is false, and no public exploit evidence is provided. Treat this as a crashable availability issue unless vendor guidance says otherwise.
Researcher notes
The key uncertainty is version mapping across distributions. The CVE data names Linux kernel 6.1/6.2-related affected entries and two stable commits, but does not provide CVSS, CWE, or exploitability detail. Validate against vendor kernel changelogs.
Mitigation direction
Update to a kernel containing the referenced Linux stable fixes.
Check Linux distribution advisories for backported fixes.
Prioritize Wi-Fi-dependent servers, appliances, kiosks, and endpoints.
Reduce reliance on affected Wi-Fi interfaces until patched where operationally practical.
Monitor for recurring mac80211 kernel oops or NULL dereference crashes.
Validation and detection
Inventory Linux kernel versions on Wi-Fi-capable systems.
Confirm kernels include the referenced stable commits or distro backports.
Check logs for ieee80211_deliver_skb or __ieee80211_rx_h_amsdu crashes.
Validate Wi-Fi functionality after kernel updates.
Track vendor advisories for affected package status and fixed builds.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2022-48876 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.