Vulnerability · Published Dec 24, 2025 · Assigned by Linux

CVE-2022-50716wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out

Unrated

In plain English

A security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 21% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS )–Not rated
Exploit odds (30 days)0.3%top 79.0% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out syzkaller reported use-after-free with the stack trace like below [1]: [ 38.960489][ C3] ================================================================== [ 38.963216][ C3] BUG: KASAN: use-after-free in ar5523_cmd_tx_cb+0x220/0x240 [ 38.964950][ C3] Read of size 8 at addr ffff888048e03450 by task swapper/3/0 [ 38.966363][ C3] [ 38.967053][ C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.0.0-09039-ga6afa4199d3d-dirty #18 [ 38.968464][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.0-1.fc36 04/01/2014 [ 38.969959][ C3] Call Trace: [ 38.970841][ C3] <IRQ> [ 38.971663][ C3] dump_stack_lvl+0xfc/0x174 [ 38.972620][ C3] print_report.cold+0x2c3/0x752 [ 38.973626][ C3] ? ar5523_cmd_tx_cb+0x220/0x240 [ 38.974644][ C3] kasan_report+0xb1/0x1d0 [ 38.975720][ C3] ? ar5523_cmd_tx_cb+0x220/0x240 [ 38.976831][ C3] ar5523_cmd_tx_cb+0x220/0x240 [ 38.978412][ C3] __usb_hcd_giveback_urb+0x353/0x5b0 [ 38.979755][ C3] usb_hcd_giveback_urb+0x385/0x430 [ 38.981266][ C3] dummy_timer+0x140c/0x34e0 [ 38.982925][ C3] ? notifier_call_chain+0xb5/0x1e0 [ 38.984761][ C3] ? rcu_read_lock_sched_held+0xb/0x60 [ 38.986242][ C3] ? lock_release+0x51c/0x790 [ 38.987323][ C3] ? _raw_read_unlock_irqrestore+0x37/0x70 [ 38.988483][ C3] ? __wake_up_common_lock+0xde/0x130 [ 38.989621][ C3] ? reacquire_held_locks+0x4a0/0x4a0 [ 38.990777][ C3] ? lock_acquire+0x472/0x550 [ 38.991919][ C3] ? rcu_read_lock_sched_held+0xb/0x60 [ 38.993138][ C3] ? lock_acquire+0x472/0x550 [ 38.994890][ C3] ? dummy_urb_enqueue+0x860/0x860 [ 38.996266][ C3] ? do_raw_spin_unlock+0x16f/0x230 [ 38.997670][ C3] ? dummy_urb_enqueue+0x860/0x860 [ 38.999116][ C3] call_timer_fn+0x1a0/0x6a0 [ 39.000668][ C3] ? add_timer_on+0x4a0/0x4a0 [ 39.002137][ C3] ? reacquire_held_locks+0x4a0/0x4a0 [ 39.003809][ C3] ? __next_timer_interrupt+0x226/0x2a0 [ 39.005509][ C3] __run_timers.part.0+0x69a/0xac0 [ 39.007025][ C3] ? dummy_urb_enqueue+0x860/0x860 [ 39.008716][ C3] ? call_timer_fn+0x6a0/0x6a0 [ 39.010254][ C3] ? cpuacct_percpu_seq_show+0x10/0x10 [ 39.011795][ C3] ? kvm_sched_clock_read+0x14/0x40 [ 39.013277][ C3] ? sched_clock_cpu+0x69/0x2b0 [ 39.014724][ C3] run_timer_softirq+0xb6/0x1d0 [ 39.016196][ C3] __do_softirq+0x1d2/0x9be [ 39.017616][ C3] __irq_exit_rcu+0xeb/0x190 [ 39.019004][ C3] irq_exit_rcu+0x5/0x20 [ 39.020361][ C3] sysvec_apic_timer_interrupt+0x8f/0xb0 [ 39.021965][ C3] </IRQ> [ 39.023237][ C3] <TASK> In ar5523_probe(), ar5523_host_available() calls ar5523_cmd() as below (there are other functions which finally call ar5523_cmd()): ar5523_probe() -> ar5523_host_available() -> ar5523_cmd_read() -> ar5523_cmd() If ar5523_cmd() timed out, then ar5523_host_available() failed and ar5523_probe() freed the device structure. So, ar5523_cmd_tx_cb() might touch the freed structure. This patch fixes this issue by canceling in-flight tx cmd if submitted urb timed out.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.4-1DEBIAN-CVE-2022-50716
Debian:13linux6.1.4-1DEBIAN-CVE-2022-50716
Debian:14linux6.1.4-1DEBIAN-CVE-2022-50716
Ubuntu:22.04:LTSlinux5.15.0-69.76UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-aws5.15.0-1033.37UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-azure5.15.0-1035.42UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1035.42.1UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-gcp5.15.0-1031.38UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-gke5.15.0-1030.35UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1017.22UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-ibm5.15.0-1027.30UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1027.32UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-kvm5.15.0-1030.35UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-69.76UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1023.23UBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-oracle5.15.0-1032.38UBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-raspi5.15.0-1026.28UBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2022-50716
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2022-50716
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2022-50716

Affected products (as reported)

VendorProductVersions
Linux Linux b7d572e1871df06a96a1c9591c71c5494ff6b624 – before c9ba3fbf6a488da6cad1d304c5234bd8d729eba3b7d572e1871df06a96a1c9591c71c5494ff6b624 – before 340524ae7b53a72cf5d9e7bd7790433422b3b12fb7d572e1871df06a96a1c9591c71c5494ff6b624 – before 6447beefd21326a3f4719ec2ea511df797f6c820b7d572e1871df06a96a1c9591c71c5494ff6b624 – before 7360b323e0343ea099091d4ae09576dbe1f09516b7d572e1871df06a96a1c9591c71c5494ff6b624 – before 8af52492717e3538eba3f81d012b1476af8a89a6b7d572e1871df06a96a1c9591c71c5494ff6b624 – before 3eca9697c2f3905dea3ad2fc536ebaa1fbd735bdb7d572e1871df06a96a1c9591c71c5494ff6b624 – before 601ae89375033ac4870c086e24ba03f235d38e55b7d572e1871df06a96a1c9591c71c5494ff6b624 – before 9aef34e1ae35a87e5f6a22278c17823b7ce64c88
Linux Linux 3.8

References