CVE-2026-93247 — Bluetooth: mgmt: fix 'hdev->discovery.uuids' NULL dereference
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: mgmt: fix 'hdev->discovery.uuids' NULL dereference 'uuid_count' member of struct 'discovery_state' is assigned and read without any locks, so there is a chance of situation when uuid_count != 0, but uuids is NULL and there will be NULL pointer dereference. Possible race: 'hci_update_passive_scan_sync' 'hci_discovery_filter_clear' hdev->discovery.uuid_count = 0; <----------------------preempted-----------------------------> 'start_service_discovery' // Set uuid_count to value != 0 hdev->discovery.uuid_count = uuid_count; hdev->discovery.uuids = kmemdup(...); <----------------------preempted-----------------------------> spin_lock(&hdev->discovery.lock); kfree(hdev->discovery.uuids); hdev->discovery.uuids = NULL; spin_unlock(&hdev->discovery.lock); Now uuids == NULL and uuid_count != 0. So 'mgmt_device_found' -> 'is_filter_match' -> 'eir_has_uuids' receives non consistent discovery state, where NULL dereference of uuids happens. To fix it let's add discovery.lock around every read/write of uuid_count, uuids pair of struct members. It is also important to assign uuid_count value only after success kmemdup() allocation in start_service_discovery(), otherwise uuids is NULL, because kmemdup failed, but uuid_count is already assigned to non zero value. The following panic happens: [ ] ------------[ cut here ]------------ [ ] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [ ] Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP [ ] CPU: 0 PID: 15056 Comm: kworker/u9:2 [ ] Workqueue: hci0 hci_rx_work [ ] pstate: 10400009 (nzcV daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ ] pc : eir_has_uuids+0x2d8/0x590 [ ] lr : is_filter_match+0x258/0x320 ... [ ] Call trace: [ ] eir_has_uuids+0x2d8/0x590 [ ] is_filter_match+0x258/0x320 [ ] mgmt_device_found+0x5b0/0xafc [ ] process_adv_report.part.0+0x8c8/0xf14 [ ] hci_le_adv_report_evt+0x338/0x3f0 [ ] hci_le_meta_evt+0x1f0/0x4c8 [ ] hci_event_packet+0x440/0xc9c [ ] hci_rx_work+0x44c/0xaf8 [ ] process_one_work+0x54c/0x103c [ ] worker_thread+0x6c4/0x10c4 [ ] kthread+0x274/0x2ec [ ] ret_from_fork+0x10/0x20 [ ] Code: 14000004 91004021 eb14003f 54000180 (f9400024) [ ] ---[ end trace 0000000000000000 ]---
Who exploits it and how urgent it is
A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.
How the score was calculated
- EPSS 0.2% (30-day exploitation probability)+1
The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.
Remediation
Fixes and mitigations documented by the sources — linked to the original advisory.
No fix documented by the sources we poll. That does not mean none exists: check the vendor advisory.
First 24 hours
Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.
- Identify exposed assets running the affected vendor/product/version combinations (Linux Linux).
- No fix documented in the sources: reduce exposure and monitor the vendor advisory.
- Search available logs for exploit probes, errors and authentication anomalies.
Affected scope
Vendor, product and versions as the sources word them.
| Vendor | Product | Versions | Status | Source |
|---|---|---|---|---|
| Linux | Linux |
≥ 86f3dcd1f331cfd4fd7ec88906955134ec51afbe and < f02c01ccd12cb2b8a290077d4c90f29a6e109b16≥ 7ce9bb0b95fc280e9212b8922590c492ca1d9c39 and < bbd262d2d750b67b15a5e1008d3848309c87e7a7≥ 16852eccbdfaf41a666705e3f8be55cf2864c5ca and < 18fda026a13c5abd6c1e0dfd3549f490b73378fb≥ 2935e556850e9c94d7a00adf14d3cd7fe406ac03 and < c3f63610bceaa182e4683b23cc47baf36b5f1496≥ 2935e556850e9c94d7a00adf14d3cd7fe406ac03 and < ee2135a14fb2a3e176149122764d293f0796b1eb≥ 2935e556850e9c94d7a00adf14d3cd7fe406ac03 and < 59eecbe2f2f38d8f3e1104bd11da97f9a2c58998version a351ff6b8ecca4229afaa0d98042bead8de64799version f8069f34c4c976786ded97498012225af87435d7 and 6 more≥ 6.1.159 and < 6.1.188≥ 6.6.117 and < 6.6.157≥ 6.12.42 and < 6.12.110≥ 6.15.10 and < 6.16≥ 6.16.1 and < 6.17version 6.17 |
Vulnerable | CVE Program (cve.org) e CISA ADP |
EPSS over time FIRST
Oct 15, 2026 → Oct 16, 2026 · 2 reading(s) · max 0.21%
Detection
Read off the CVSS vector and the weakness class. Starting points, not tested rules.
- Not enough vector or weakness data: use the affected application’s logs as a starting point.
Timeline
What happened to this CVE, newest first.
- 2026
- Record published
- Affected products added · linux/linux
- Source status changed · → Received
- Record created in this database
- CVE published
Source activity
Repeated readings are counted rather than listed.
- 1× Official description updated · Oct 15, 2026 – Oct 15, 2026
References
6 on the record
- git.kernel.org/stable/c/bbd262d2d750b67b15a5e1008d3848309c87e7a7
- git.kernel.org/stable/c/59eecbe2f2f38d8f3e1104bd11da97f9a2c58998
- git.kernel.org/stable/c/ee2135a14fb2a3e176149122764d293f0796b1eb
- git.kernel.org/stable/c/c3f63610bceaa182e4683b23cc47baf36b5f1496
- git.kernel.org/stable/c/18fda026a13c5abd6c1e0dfd3549f490b73378fb
- git.kernel.org/stable/c/f02c01ccd12cb2b8a290077d4c90f29a6e109b16
Elsewhere on this site
Related CVEs (same products)
- Unknown CVE-2026-98866 sched/cache: Introduce task_struct->sched_cache_grp to fix UAF 33m
- Unknown CVE-2026-98867 dm-pcache: bound the logical key offset from persistent memory 33m
- Unknown CVE-2026-98868 dm-pcache: reject a kset that overruns its segment 33m
- Unknown CVE-2026-98856 kprobes: Skip disarmed probes when checking optkprobe overlap 33m
- Unknown CVE-2026-98857 ipvs: bound LBLCR and LBLC cache growth 33m
- Unknown CVE-2026-98858 io_uring: fix task_work add use-after-free with SQPOLL 33m
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No CVSS score published by NVD, the CNA, CISA or GitHub so far.
- No fixed version, patch or mitigation documented.
- No CISA SSVC assessment.
- No CWE classification.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.
Answered from this record
Text assembled only from the fields above — no additional claims.
What should defenders know first?
CVE-2026-93247 is "Bluetooth: mgmt: fix 'hdev->discovery.uuids' NULL dereference", rated Unknown. It affects Linux (Linux); versions are in the scope table. It is not in CISA KEV, which does not rule out exploitation. EPSS 0.21% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.
Comments
Moderated technical discussion. Read the community guidelines.
No comments yet.
Sign in or create an account to comment and suggest corrections.