CVE-2025-40283: Linux kernel · Bluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF
Source GCVE Database
Not known to be exploited · CVSS 7.8 High.
Data as of 26 Oct 2026, 14:05 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 3% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 7 Dec 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
AI-suggested
A fix has been implemented in the Linux kernel to reorder the cleanup in btusb_disconnect and avoid the use-after-free condition. Users and administrators should update to the fixed Linux kernel version once available. Patch status is not explicitly confirmed in the provided data; therefore, check the official Linux kernel advisories or vendor updates for the exact fixed versions and apply them promptly.
Description
A use-after-free (UAF) vulnerability was identified and resolved in the Linux kernel's Bluetooth USB driver (btusb). The issue occurs in the btusb_disconnect function where the driver releases an interface and frees associated data, but subsequently accesses that freed data, leading to a UAF condition. This vulnerability could allow an attacker with local privileges to cause memory corruption with high impact on confidentiality, integrity, and availability. The fix involves reordering the cleanup code to avoid accessing freed memory.
References
- nvd.nist.gov/vuln/detail/CVE-2025-40283 (opens in a new tab)
- git.kernel.org/stable/c/1c28c1e1522c773a94e26950ffb145e88cd9834b (opens in a new tab)
- git.kernel.org/stable/c/23d22f2f71768034d6ef86168213843fc49bf550 (opens in a new tab)
- git.kernel.org/stable/c/297dbf87989e09af98f81f2bcb938041785557e8 (opens in a new tab)
- git.kernel.org/stable/c/5dc00065a0496c36694afe11e52a5bc64524a9b8 (opens in a new tab)
- git.kernel.org/stable/c/7a6d1e740220ff9dfcb6a8c994d6ba49e76db198 (opens in a new tab)
- git.kernel.org/stable/c/95b9b98c93b1c0916a3d4cf4540b7f5d69145a0d (opens in a new tab)
- git.kernel.org/stable/c/a2610ecd9fd5708be8997ca8f033e4200c0bb6af (opens in a new tab)
- git.kernel.org/stable/c/f858f004bc343a7ae9f2533bbb2a3ab27428532f (opens in a new tab)