LiveActive security incident?Get immediate response
CVE Record

CVE-2022-50881: wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect()

In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect() This patch fixes a use-after-free in ath9k that occurs in ath9k_hif_usb_disconnect() when ath9k_destroy_wmi() is trying to access 'drv_priv' that has already been freed by ieee80211_free_hw(), called by ath9k_htc_hw_deinit(). The patch moves ath9k_destroy_wmi() before ieee80211_free_hw(). Note that urbs from the driver should be killed before freeing 'wmi' with ath9k_destroy_wmi() as their callbacks will access 'wmi'. Found by a modified version of syzkaller. ================================================================== BUG: KASAN: use-after-free in ath9k_destroy_wmi+0x38/0x40 Read of size 8 at addr ffff8881069132a0 by task kworker/0:1/7 CPU: 0 PID: 7 Comm: kworker/0:1 Tainted: G O 5.14.0+ #131 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014 Workqueue: usb_hub_wq hub_event Call Trace: dump_stack_lvl+0x8e/0xd1 print_address_description.constprop.0.cold+0x93/0x334 ? ath9k_destroy_wmi+0x38/0x40 ? ath9k_destroy_wmi+0x38/0x40 kasan_report.cold+0x83/0xdf ? ath9k_destroy_wmi+0x38/0x40 ath9k_destroy_wmi+0x38/0x40 ath9k_hif_usb_disconnect+0x329/0x3f0 ? ath9k_hif_usb_suspend+0x120/0x120 ? usb_disable_interface+0xfc/0x180 usb_unbind_interface+0x19b/0x7e0 ? usb_autoresume_device+0x50/0x50 device_release_driver_internal+0x44d/0x520 bus_remove_device+0x2e5/0x5a0 device_del+0x5b2/0xe30 ? __device_link_del+0x370/0x370 ? usb_remove_ep_devs+0x43/0x80 ? remove_intf_ep_devs+0x112/0x1a0 usb_disable_device+0x1e3/0x5a0 usb_disconnect+0x267/0x870 hub_event+0x168d/0x3950 ? rcu_read_lock_sched_held+0xa1/0xd0 ? hub_port_debounce+0x2e0/0x2e0 ? check_irq_usage+0x860/0xf20 ? drain_workqueue+0x281/0x360 ? lock_release+0x640/0x640 ? rcu_read_lock_sched_held+0xa1/0xd0 ? rcu_read_lock_bh_held+0xb0/0xb0 ? lockdep_hardirqs_on_prepare+0x273/0x3e0 process_one_work+0x92b/0x1460 ? pwq_dec_nr_in_flight+0x330/0x330 ? rwlock_bug.part.0+0x90/0x90 worker_thread+0x95/0xe00 ? __kthread_parkme+0x115/0x1e0 ? process_one_work+0x1460/0x1460 kthread+0x3a1/0x480 ? set_kthread_struct+0x120/0x120 ret_from_fork+0x1f/0x30 The buggy address belongs to the page: page:ffffea00041a44c0 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x106913 flags: 0x200000000000000(node=0|zone=2) raw: 0200000000000000 0000000000000000 dead000000000122 0000000000000000 raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as freed page last allocated via order 3, migratetype Unmovable, gfp_mask 0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), pid 7, ts 38347963444, free_ts 41399957635 prep_new_page+0x1aa/0x240 get_page_from_freelist+0x159a/0x27c0 __alloc_pages+0x2da/0x6a0 alloc_pages+0xec/0x1e0 kmalloc_order+0x39/0xf0 kmalloc_order_trace+0x19/0x120 __kmalloc+0x308/0x390 wiphy_new_nm+0x6f5/0x1dd0 ieee80211_alloc_hw_nm+0x36d/0x2230 ath9k_htc_probe_device+0x9d/0x1e10 ath9k_htc_hw_init+0x34/0x50 ath9k_hif_usb_firmware_cb+0x25f/0x4e0 request_firmware_work_func+0x131/0x240 process_one_work+0x92b/0x1460 worker_thread+0x95/0xe00 kthread+0x3a1/0x480 page last free stack trace: free_pcp_prepare+0x3d3/0x7f0 free_unref_page+0x1e/0x3d0 device_release+0xa4/0x240 kobject_put+0x186/0x4c0 put_device+0x20/0x30 ath9k_htc_disconnect_device+0x1cf/0x2c0 ath9k_htc_hw_deinit+0x26/0x30 ath9k_hif_usb_disconnect+0x2d9/0x3f0 usb_unbind_interface+0x19b/0x7e0 device_release_driver_internal+0x44d/0x520 bus_remove_device+0x2e5/0x5a0 device_del+0x5b2/0xe30 usb_disable_device+0x1e3/0x5a0 usb_disconnect+0x267/0x870 hub_event+0x168d/0x3950 process_one_work+0x92b/0x1460 Memory state around the buggy address: ffff888106913180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff888106913200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffff888 ---truncated---

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

This is a Linux kernel memory-safety bug in the ath9k USB Wi-Fi driver during device disconnect. Systems are mainly exposed if they use affected kernels and ath9k_htc USB wireless hardware. Public sources do not show active exploitation or a CVSS score. Treat it as a targeted stability and kernel-risk issue, not an internet-facing emergency.

Executive priority

Address through normal kernel patch cycles, with higher priority for endpoint fleets or embedded Linux devices using USB Wi-Fi. There is no sourced evidence of active exploitation, but kernel use-after-free bugs can affect reliability and may carry security risk depending on local hardware access and driver exposure.

Technical view

CVE-2022-50881 is a use-after-free in ath9k_hif_usb_disconnect(). ath9k_destroy_wmi() accessed drv_priv after ieee80211_free_hw() freed it through ath9k_htc_hw_deinit(). The fix reorders teardown so WMI destruction occurs before freeing hardware state, with URBs killed before WMI is freed. The issue was found by a modified syzkaller.

Likely exposure

Linux hosts running affected kernels with the ath9k_htc USB Wi-Fi driver and compatible Atheros USB wireless devices are the likely exposure group. Servers without such hardware or driver use are less likely exposed. The source bundle lists Linux as affected but gives no distribution-specific package mapping.

Exploitation context

The available sources describe a KASAN-detected kernel use-after-free during USB disconnect handling. They do not document public exploitation, remote attackability, privilege requirements, or weaponized proof of concept. CISA KEV status in the bundle is false, so active exploitation should not be assumed.

Researcher notes

The vulnerable path is ath9k_hif_usb_disconnect() teardown ordering. The source emphasizes URB callbacks can access WMI, so URBs must be killed before ath9k_destroy_wmi(). Public data lacks CVSS, CWE assignment, exploitability analysis, and distribution-level affected package details.

Mitigation direction

  • Update to a vendor kernel containing the referenced stable fixes.
  • Check your Linux distribution advisory for backported patches.
  • If ath9k_htc USB Wi-Fi is unnecessary, consider disabling or avoiding that hardware pending guidance.
  • Prioritize laptops, workstations, appliances, or test systems using USB Wi-Fi adapters.

Validation and detection

  • Inventory systems using Linux kernels in the affected range.
  • Identify hosts loading or depending on the ath9k_htc driver.
  • Confirm the running kernel includes the relevant stable commit or vendor backport.
  • Review distribution security advisories for CVE-2022-50881 coverage.
  • Monitor kernel logs for ath9k USB disconnect instability on unpatched systems.
Prepared
Confidence
medium
Sources
7

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-50881 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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.

0CVSS vectors
0Timeline events
0ADP providers
6Source links

CVSS and timeline data

No CVSS vectors or timeline events were available in the normalized CVE source material.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinuxabeaa85054ff8cfe8b99aafc5c70ea067e5d0908, abeaa85054ff8cfe8b99aafc5c70ea067e5d0908, abeaa85054ff8cfe8b99aafc5c70ea067e5d0908, abeaa85054ff8cfe8b99aafc5c70ea067e5d0908, abeaa85054ff8cfe8b99aafc5c70ea067e5d0908, 5c42f9bfb4c22898ed3d2806d75e2e58522a5edd, 44736603a7099d2a9b48c669e43a689588e272a5, 406a2fbfabbf7ed9ed21884a82c07fabc6fe0b68, 66a4ca83d50bb38c814190af2188868153cce5de, 3eb802924486a923585b344340a5536d91989a45, 1bc633311a37913293c3c0a1b0f5261c49e3d5dc, 378d2734bf603bac4959bce2cadf5927aa2beffcunaffected
LinuxLinux5.8, 0, 5.10.173, 5.15.99, 6.1.16, 6.2.3, 6.3affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.