CVE-2026-68414 in Linuxinfo

Summary

by MITRE • 08/10/2026

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

wifi: cfg80211: cancel sched scan results work on unregister

cfg80211_sched_scan_results() can queue rdev->sched_scan_res_wk from a driver result notification while a scheduled scan request is present. The work callback recovers the containing cfg80211_registered_device and then locks the wiphy and walks the scheduled-scan request list.

wiphy_unregister() already makes the wiphy unreachable and drains rdev work items before cfg80211_dev_free() can release the object, but it does not drain sched_scan_res_wk. A queued or running result work item can therefore cross the unregister/free boundary and access freed rdev state.

The buggy scenario involves two paths, with each column showing the order within that path:

scheduled-scan result path: unregister/free path: 1. cfg80211_sched_scan_results() 1. interface teardown stops and queues rdev->sched_scan_res_wk. removes the scheduled scan request. 2. cfg80211_wq starts the work 2. wiphy_unregister() drains other item and recovers rdev. rdev work items. 3. The worker locks rdev->wiphy 3. cfg80211_dev_free() destroys and and walks rdev state. frees rdev.

Cancel sched_scan_res_wk in wiphy_unregister() alongside the other rdev work items. cancel_work_sync() removes a pending result notification and waits for an already running callback, so cfg80211_dev_free() cannot free rdev while this work item is still active.

Validation reproduced this kernel report: BUG: KASAN: use-after-free in cfg80211_sched_scan_results_wk+0x4a6/0x530 Workqueue: cfg80211 cfg80211_sched_scan_results_wk [cfg80211]
Read of size 8 Call trace: dump_stack_lvl+0x66/0xa0 print_report+0xce/0x630 cfg80211_sched_scan_results_wk+0x4a6/0x530 srso_alias_return_thunk+0x5/0xfbef5 __virt_addr_valid+0x224/0x430 kasan_report+0xac/0xe0 lockdep_hardirqs_on_prepare+0xea/0x1a0 process_one_work+0x8d0/0x18f0 (kernel/workqueue.c:3212) lock_is_held_type+0x8f/0x100 worker_thread+0x5ad/0xfd0 __kthread_parkme+0xc6/0x200 kthread+0x31e/0x410 trace_hardirqs_on+0x1a/0x170 ret_from_fork+0x576/0x810 __switch_to+0x57e/0xe20 __switch_to_asm+0x33/0x70 ret_from_fork_asm+0x1a/0x30

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 08/10/2026

The vulnerability described involves a race condition in the linux kernel's wireless subsystem, specifically within the cfg80211 framework responsible for managing wireless device operations. This issue occurs during the cleanup process when a wireless device is being unregistered, creating a potential use-after-free scenario that could lead to system instability or exploitation. The flaw manifests when scheduled scan results work items are not properly canceled before the device structure is freed, allowing execution of code against deallocated memory structures.

The technical root cause stems from improper work queue management during device teardown operations. When a scheduled scan result notification is processed through cfg80211_sched_scan_results(), it queues a work item rdev->sched_scan_res_wk that references the wireless device structure. The wiphy_unregister() function correctly handles other work items by draining them before freeing the device, but it fails to specifically cancel the sched_scan_res_wk work item. This oversight creates a timing window where the work item can execute after the device has been freed, leading to access of invalid memory addresses.

The operational impact of this vulnerability extends beyond simple system crashes, representing a potential security risk through use-after-free exploitation patterns. According to CWE-416, this scenario constitutes a use-after-free condition where memory is accessed after it has been freed, which can be leveraged by attackers to execute arbitrary code or cause denial of service. The specific behavior follows ATT&CK technique T1059.007 for command and scripting interpreter usage, as exploitation could involve crafting malicious wireless network events to trigger the race condition. The vulnerability allows for potential privilege escalation or system compromise through careful manipulation of wireless device operations during shutdown sequences.

The fix implemented addresses this by adding explicit cancellation of the sched_scan_res_wk work item within wiphy_unregister() alongside other pending work items. Using cancel_work_sync() ensures that any queued notification is removed and waits for any currently executing callback to complete before proceeding with device destruction. This approach prevents the worker from accessing freed memory while maintaining proper synchronization between concurrent operations. The validation confirms this resolution through KASAN reporting that previously showed use-after-free conditions in cfg80211_sched_scan_results_wk, demonstrating that the fix properly handles the work queue draining sequence and prevents access to deallocated device structures during cleanup operations.

This vulnerability highlights the importance of comprehensive resource management in kernel subsystems where multiple asynchronous operations may reference shared data structures. The proper handling of work queues during device teardown requires careful consideration of all potential execution paths and ensures that no references remain to freed memory regions, which is crucial for maintaining system stability and security boundaries in wireless networking components.

Responsible

Linux

Reservation

07/30/2026

Disclosure

08/10/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you need the next level of professionalism?

Upgrade your account now!