Vulnerability · Published Dec 16, 2025 · Assigned by Linux

CVE-2025-68282usb: gadget: udc: fix use-after-free in usb_gadget_state_work

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.2% (higher than 11% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS )–Not rated
Exploit odds (30 days)0.2%top 89.5% 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: usb: gadget: udc: fix use-after-free in usb_gadget_state_work A race condition during gadget teardown can lead to a use-after-free in usb_gadget_state_work(), as reported by KASAN: BUG: KASAN: invalid-access in sysfs_notify+0x2c/0xd0 Workqueue: events usb_gadget_state_work The fundamental race occurs because a concurrent event (e.g., an interrupt) can call usb_gadget_set_state() and schedule gadget->work at any time during the cleanup process in usb_del_gadget(). Commit 399a45e5237c ("usb: gadget: core: flush gadget workqueue after device removal") attempted to fix this by moving flush_work() to after device_del(). However, this does not fully solve the race, as a new work item can still be scheduled *after* flush_work() completes but before the gadget's memory is freed, leading to the same use-after-free. This patch fixes the race condition robustly by introducing a 'teardown' flag and a 'state_lock' spinlock to the usb_gadget struct. The flag is set during cleanup in usb_del_gadget() *before* calling flush_work() to prevent any new work from being scheduled once cleanup has commenced. The scheduling site, usb_gadget_set_state(), now checks this flag under the lock before queueing the work, thus safely closing the race window.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.159-1DEBIAN-CVE-2025-68282
Debian:13linux6.12.63-1DEBIAN-CVE-2025-68282
Debian:14linux6.17.11-1DEBIAN-CVE-2025-68282
Ubuntu:22.04:LTSlinux5.15.0-173.183UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux6.8.0-106.106UBUNTU-CVE-2025-68282
Ubuntu:25.10linux6.17.0-19.19UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-aws5.15.0-1103.110UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-aws6.8.0-1050.53UBUNTU-CVE-2025-68282
Ubuntu:25.10linux-aws6.17.0-1009.9UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-aws-6.176.17.0-1009.9~24.04.2UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1050.53~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-azure5.15.0-1109.118UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-azure6.8.0-1051.57UBUNTU-CVE-2025-68282
Ubuntu:25.10linux-azure6.17.0-1010.10UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-azure-6.176.17.0-1010.10~24.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1051.57~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1109.118.1UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-azure-fde6.8.0-1058.65UBUNTU-CVE-2025-68282
Ubuntu:25.10linux-azure-fdeno fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-azure-fde-6.86.8.0-1058.65~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-gcp5.15.0-1103.112UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-gcp6.8.0-1052.55UBUNTU-CVE-2025-68282
Ubuntu:25.10linux-gcp6.17.0-1009.9UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-gcp-6.176.17.0-1009.9~24.04.3UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1052.55~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-gke5.15.0-1099.105UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-gke6.8.0-1048.53UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1086.94UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1035.38UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-hwe-6.176.17.0-19.19~24.04.2UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-106.106~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-ibm5.15.0-1097.100UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-ibm6.8.0-1049.49UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1049.49~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1098.104UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-kvm5.15.0-1095.100UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-173.183UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-106.106.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-106.106.1~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1098.99UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1049.52UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-nvidia-6.176.17.0-1018.18UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1049.52~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1049.52.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1055.55UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1020.20UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1044.44UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-oem-6.176.17.0-1017.17UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-oracle5.15.0-1100.106UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-oracle6.8.0-1047.48UBUNTU-CVE-2025-68282
Ubuntu:25.10linux-oracle6.17.0-1009.9UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-oracle-6.176.17.0-1009.9~24.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1047.48~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-raspi5.15.0-1097.100UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-raspi6.8.0-1050.54UBUNTU-CVE-2025-68282
Ubuntu:25.10linux-raspi6.17.0-1010.10UBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-68282
Ubuntu:25.10linux-realtime6.17.0-1008.9UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-68282
Ubuntu:25.10linux-riscv6.17.0-19.19.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-riscv-6.176.17.0-19.19.1~24.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-106.106~22.04.1UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2025-68282
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1028.29UBUNTU-CVE-2025-68282
Ubuntu:22.04:LTSlinux-xilinx-zynqmp5.15.0-1067.71UBUNTU-CVE-2025-68282

Affected products (as reported)

VendorProductVersions
Linux Linux 5702f75375aa9ecf8ad3431aef3fe6ce8c8dbd15 – before dddc944d65169b552e09cb54e3ed4fbb9ea264165702f75375aa9ecf8ad3431aef3fe6ce8c8dbd15 – before eee16f3ff08e759ea828bdf7dc1c0ef2f22134f55702f75375aa9ecf8ad3431aef3fe6ce8c8dbd15 – before c12a0c3ef815ddd67e47f9c819f9fe822fed54675702f75375aa9ecf8ad3431aef3fe6ce8c8dbd15 – before f02a412c0a18f02f0f91b0a3d9788315a721b7fd5702f75375aa9ecf8ad3431aef3fe6ce8c8dbd15 – before 10014310193cf6736c1aeb4105c5f4a0818d0c655702f75375aa9ecf8ad3431aef3fe6ce8c8dbd15 – before 3b32caa73d135eea8fb9cabb45e9fc64c5a3ecb95702f75375aa9ecf8ad3431aef3fe6ce8c8dbd15 – before baeb66fbd4201d1c4325074e78b1f557dff89b5b
Linux Linux 3.12

References