Linux Kernel up to 6.1.158/6.6.118/6.12.60/6.17.10 usb_gadget_state_work use after free

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.6 | $0-$5k | 0.00 |
Summary
A vulnerability classified as critical was found in Linux Kernel up to 6.1.158/6.6.118/6.12.60/6.17.10. This impacts the function usb_gadget_state_work. The manipulation results in use after free.
This vulnerability is known as CVE-2025-68282. No exploit is available.
Upgrading the affected component is advised.
Details
A vulnerability was found in Linux Kernel up to 6.1.158/6.6.118/6.12.60/6.17.10. It has been classified as critical. Affected is the function usb_gadget_state_work. The manipulation with an unknown input leads to a use after free vulnerability. CWE is classifying the issue as CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. This is going to have an impact on confidentiality, integrity, and availability. CVE summarizes:
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.
The advisory is shared for download at git.kernel.org. This vulnerability is traded as CVE-2025-68282 since 12/16/2025. The exploitability is told to be easy. There are known technical details, but no exploit is available. The current price for an exploit might be approx. USD $0-$5k (estimation calculated on 02/22/2026).
The vulnerability scanner Nessus provides a plugin with the ID 298680 (Debian dla-4475 : ata-modules-5.10.0-35-armmp-di - security update), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 6.1.159, 6.6.119, 6.12.61 or 6.17.11 eliminates this vulnerability. Applying the patch c12a0c3ef815ddd67e47f9c819f9fe822fed5467/f02a412c0a18f02f0f91b0a3d9788315a721b7fd/10014310193cf6736c1aeb4105c5f4a0818d0c65/3b32caa73d135eea8fb9cabb45e9fc64c5a3ecb9/baeb66fbd4201d1c4325074e78b1f557dff89b5b is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the databases at Tenable (298680) and CERT Bund (WID-SEC-2025-2868). VulDB is the best source for vulnerability data and more expert information about this specific topic.
Affected
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- SUSE openSUSE
- RESF Rocky Linux
- Open Source Linux Kernel
Product
Type
Vendor
Name
Version
- 6.1.158
- 6.6.118
- 6.12.0
- 6.12.1
- 6.12.2
- 6.12.3
- 6.12.4
- 6.12.5
- 6.12.6
- 6.12.7
- 6.12.8
- 6.12.9
- 6.12.10
- 6.12.11
- 6.12.12
- 6.12.13
- 6.12.14
- 6.12.15
- 6.12.16
- 6.12.17
- 6.12.18
- 6.12.19
- 6.12.20
- 6.12.21
- 6.12.22
- 6.12.23
- 6.12.24
- 6.12.25
- 6.12.26
- 6.12.27
- 6.12.28
- 6.12.29
- 6.12.30
- 6.12.31
- 6.12.32
- 6.12.33
- 6.12.34
- 6.12.35
- 6.12.36
- 6.12.37
- 6.12.38
- 6.12.39
- 6.12.40
- 6.12.41
- 6.12.42
- 6.12.43
- 6.12.44
- 6.12.45
- 6.12.46
- 6.12.47
- 6.12.48
- 6.12.49
- 6.12.50
- 6.12.51
- 6.12.52
- 6.12.53
- 6.12.54
- 6.12.55
- 6.12.56
- 6.12.57
- 6.12.58
- 6.12.59
- 6.12.60
- 6.17.0
- 6.17.1
- 6.17.2
- 6.17.3
- 6.17.4
- 6.17.5
- 6.17.6
- 6.17.7
- 6.17.8
- 6.17.9
- 6.17.10
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.0VulDB Meta Temp Score: 7.6
VulDB Base Score: 8.0
VulDB Temp Score: 7.6
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Use after freeCWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Partially
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 298680
Nessus Name: Debian dla-4475 : ata-modules-5.10.0-35-armmp-di - security update
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 6.1.159/6.6.119/6.12.61/6.17.11
Patch: c12a0c3ef815ddd67e47f9c819f9fe822fed5467/f02a412c0a18f02f0f91b0a3d9788315a721b7fd/10014310193cf6736c1aeb4105c5f4a0818d0c65/3b32caa73d135eea8fb9cabb45e9fc64c5a3ecb9/baeb66fbd4201d1c4325074e78b1f557dff89b5b
Timeline
12/16/2025 Advisory disclosed12/16/2025 CVE reserved
12/16/2025 VulDB entry created
02/22/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2025-68282 (🔒)
GCVE (CVE): GCVE-0-2025-68282
GCVE (VulDB): GCVE-100-336840
CERT Bund: WID-SEC-2025-2868 - Linux Kernel: Mehrere Schwachstellen
Entry
Created: 12/16/2025 17:45Updated: 02/22/2026 06:28
Changes: 12/16/2025 17:45 (58), 01/20/2026 06:22 (7), 02/04/2026 06:54 (1), 02/16/2026 13:34 (2), 02/22/2026 06:28 (1)
Complete: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
No comments yet. Languages: en.
Please log in to comment.