CVE-2022-49328

Severity CVSS v4.0:
Pending analysis
Type:
CWE-416 Use After Free
Publication date:
26/02/2025
Last modified:
25/03/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> mt76: fix use-after-free by removing a non-RCU wcid pointer<br /> <br /> Fixes an issue caught by KASAN about use-after-free in mt76_txq_schedule<br /> by protecting mtxq-&gt;wcid with rcu_lock between mt76_txq_schedule and<br /> sta_info_[alloc, free].<br /> <br /> [18853.876689] ==================================================================<br /> [18853.876751] BUG: KASAN: use-after-free in mt76_txq_schedule+0x204/0xaf8 [mt76]<br /> [18853.876773] Read of size 8 at addr ffffffaf989a2138 by task mt76-tx phy0/883<br /> [18853.876786]<br /> [18853.876810] CPU: 5 PID: 883 Comm: mt76-tx phy0 Not tainted 5.10.100-fix-510-56778d365941-kasan #5 0b01fbbcf41a530f52043508fec2e31a4215<br /> <br /> [18853.876840] Call trace:<br /> [18853.876861] dump_backtrace+0x0/0x3ec<br /> [18853.876878] show_stack+0x20/0x2c<br /> [18853.876899] dump_stack+0x11c/0x1ac<br /> [18853.876918] print_address_description+0x74/0x514<br /> [18853.876934] kasan_report+0x134/0x174<br /> [18853.876948] __asan_report_load8_noabort+0x44/0x50<br /> [18853.876976] mt76_txq_schedule+0x204/0xaf8 [mt76 074e03e4640e97fe7405ee1fab547b81c4fa45d2]<br /> [18853.877002] mt76_txq_schedule_all+0x2c/0x48 [mt76 074e03e4640e97fe7405ee1fab547b81c4fa45d2]<br /> [18853.877030] mt7921_tx_worker+0xa0/0x1cc [mt7921_common f0875ebac9d7b4754e1010549e7db50fbd90a047]<br /> [18853.877054] __mt76_worker_fn+0x190/0x22c [mt76 074e03e4640e97fe7405ee1fab547b81c4fa45d2]<br /> [18853.877071] kthread+0x2f8/0x3b8<br /> [18853.877087] ret_from_fork+0x10/0x30<br /> [18853.877098]<br /> [18853.877112] Allocated by task 941:<br /> [18853.877131] kasan_save_stack+0x38/0x68<br /> [18853.877147] __kasan_kmalloc+0xd4/0xfc<br /> [18853.877163] kasan_kmalloc+0x10/0x1c<br /> [18853.877177] __kmalloc+0x264/0x3c4<br /> [18853.877294] sta_info_alloc+0x460/0xf88 [mac80211]<br /> [18853.877410] ieee80211_prep_connection+0x204/0x1ee0 [mac80211]<br /> [18853.877523] ieee80211_mgd_auth+0x6c4/0xa4c [mac80211]<br /> [18853.877635] ieee80211_auth+0x20/0x2c [mac80211]<br /> [18853.877733] rdev_auth+0x7c/0x438 [cfg80211]<br /> [18853.877826] cfg80211_mlme_auth+0x26c/0x390 [cfg80211]<br /> [18853.877919] nl80211_authenticate+0x6d4/0x904 [cfg80211]<br /> [18853.877938] genl_rcv_msg+0x748/0x93c<br /> [18853.877954] netlink_rcv_skb+0x160/0x2a8<br /> [18853.877969] genl_rcv+0x3c/0x54<br /> [18853.877985] netlink_unicast_kernel+0x104/0x1ec<br /> [18853.877999] netlink_unicast+0x178/0x268<br /> [18853.878015] netlink_sendmsg+0x3cc/0x5f0<br /> [18853.878030] sock_sendmsg+0xb4/0xd8<br /> [18853.878043] ____sys_sendmsg+0x2f8/0x53c<br /> [18853.878058] ___sys_sendmsg+0xe8/0x150<br /> [18853.878071] __sys_sendmsg+0xc4/0x1f4<br /> [18853.878087] __arm64_compat_sys_sendmsg+0x88/0x9c<br /> [18853.878101] el0_svc_common+0x1b4/0x390<br /> [18853.878115] do_el0_svc_compat+0x8c/0xdc<br /> [18853.878131] el0_svc_compat+0x10/0x1c<br /> [18853.878146] el0_sync_compat_handler+0xa8/0xcc<br /> [18853.878161] el0_sync_compat+0x188/0x1c0<br /> [18853.878171]<br /> [18853.878183] Freed by task 10927:<br /> [18853.878200] kasan_save_stack+0x38/0x68<br /> [18853.878215] kasan_set_track+0x28/0x3c<br /> [18853.878228] kasan_set_free_info+0x24/0x48<br /> [18853.878244] __kasan_slab_free+0x11c/0x154<br /> [18853.878259] kasan_slab_free+0x14/0x24<br /> [18853.878273] slab_free_freelist_hook+0xac/0x1b0<br /> [18853.878287] kfree+0x104/0x390<br /> [18853.878402] sta_info_free+0x198/0x210 [mac80211]<br /> [18853.878515] __sta_info_destroy_part2+0x230/0x2d4 [mac80211]<br /> [18853.878628] __sta_info_flush+0x300/0x37c [mac80211]<br /> [18853.878740] ieee80211_set_disassoc+0x2cc/0xa7c [mac80211]<br /> [18853.878851] ieee80211_mgd_deauth+0x4a4/0x10a0 [mac80211]<br /> [18853.878962] ieee80211_deauth+0x20/0x2c [mac80211]<br /> [18853.879057] rdev_deauth+0x7c/0x438 [cfg80211]<br /> [18853.879150] cfg80211_mlme_deauth+0x274/0x414 [cfg80211]<br /> [18853.879243] cfg80211_mlme_down+0xe4/0x118 [cfg80211]<br /> [18853.879335] cfg80211_disconnect+0x218/0x2d8 [cfg80211]<br /> [18853.879427] __cfg80211_leave+0x17c/0x240 [cfg80211]<br /> [18853.879519] cfg80211_leave+0x3c/0x58 [cfg80211]<br /> [18853.879611] wiphy_suspend+0xdc/0x200 [cfg80211]<br /> [18853.879628] dpm_run_callback+0x58/0x408<br /> [18853.879642] __device_suspend+0x4cc/0x864<br /> [18853.879658] async_suspend+0x34/0xf4<br /> [18<br /> ---truncated---

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.58 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 5.17.14 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.18 (including) 5.18.3 (excluding)