CVE-2025-38593

Source
https://cve.org/CVERecord?id=CVE-2025-38593
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38593.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-38593
Downstream
Related
Published
2025-08-19T17:03:18.960Z
Modified
2026-05-28T03:54:40.140962407Z
Summary
Bluetooth: hci_sync: fix double free in 'hci_discovery_filter_clear()'
Details

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

Bluetooth: hcisync: fix double free in 'hcidiscoveryfilterclear()'

Function 'hcidiscoveryfilter_clear()' frees 'uuids' array and then sets it to NULL. There is a tiny chance of the following race:

'hcicmdsync_work()'

'updatepassivescan_sync()'

'hciupdatepassivescansync()'

 'hci_discovery_filter_clear()'
   kfree(uuids);

   <-------------------------preempted-------------------------------->
                                       'start_service_discovery()'

                                         'hci_discovery_filter_clear()'
                                           kfree(uuids); // DOUBLE FREE

   <-------------------------preempted-------------------------------->

  uuids = NULL;

To fix it let's add locking around 'kfree()' call and NULL pointer assignment. Otherwise the following backtrace fires:

[ ] ------------[ cut here ]------------ [ ] kernel BUG at mm/slub.c:547! [ ] Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP [ ] CPU: 3 UID: 0 PID: 246 Comm: bluetoothd Tainted: G O 6.12.19-kernel #1 [ ] Tainted: [O]=OOT_MODULE [ ] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ ] pc : __slab_free+0xf8/0x348 [ ] lr : __slab_free+0x48/0x348 ... [ ] Call trace: [ ] __slabfree+0xf8/0x348 [ ] kfree+0x164/0x27c [ ] startservicediscovery+0x1d0/0x2c0 [ ] hcisock_sendmsg+0x518/0x924 [ ] __socksendmsg+0x54/0x60 [ ] sockwriteiter+0x98/0xf8 [ ] doiterreadvwritev+0xe4/0x1c8 [ ] vfswritev+0x128/0x2b0 [ ] dowritev+0xfc/0x118 [ ] _arm64syswritev+0x20/0x2c [ ] invokesyscall+0x68/0xf0 [ ] el0svccommon.constprop.0+0x40/0xe0 [ ] doel0svc+0x1c/0x28 [ ] el0svc+0x30/0xd0 [ ] el0t64synchandler+0x100/0x12c [ ] el0t64sync+0x194/0x198 [ ] Code: 8b0002e6 eb17031f 54fffbe1 d503201f (d4210000) [ ] ---[ end trace 0000000000000000 ]---

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38593.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
ad383c2c65a5baf16e334cd40a013cc302176891
Fixed
86f3dcd1f331cfd4fd7ec88906955134ec51afbe
Fixed
7ce9bb0b95fc280e9212b8922590c492ca1d9c39
Fixed
16852eccbdfaf41a666705e3f8be55cf2864c5ca
Fixed
a351ff6b8ecca4229afaa0d98042bead8de64799
Fixed
f8069f34c4c976786ded97498012225af87435d7
Fixed
2935e556850e9c94d7a00adf14d3cd7fe406ac03

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38593.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.17.0
Fixed
6.1.159
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.117
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.42
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.15.10
Type
ECOSYSTEM
Events
Introduced
6.16.0
Fixed
6.16.1

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38593.json"