◆ CVE Hub

CVE-2026-99014

Bluetooth: hci_sync: Fix command skb lifetime during scan setup

Published
2026-10-23
Last modified
2026-10-24
CNA
Linux
NVD status
Received

Fetching some sources has been requested. Reload in about a minute to see them.

CVSS v3.1 (listed by NVD)
7.8
HIGH
Scored by Linux (not yet scored by NVD)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0 (listed by NVD)
—
Not scored
CVSS (listed by CVE.org)
7.8
HIGH
Scored by CNA (Linux) · v3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS exploit probability
0.2%
Percentile 10.5%
as of 2026-10-24
CISA KEV
—
Not listed

Attack conditions and impact

Derived from the CNA (via NVD) CVSS 3.1 vector
LocalLoginNo interaction Confidentiality HIntegrity HAvailability H
MetricValueMeaning
Attack vector AVLLocal
Attack complexity ACLLow (easy)
Privileges required PRLRegular user
User interaction UINNone
Scope SUUnchanged
Confidentiality CHHigh
Integrity IHHigh
Availability AHHigh
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Description

NVD

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: Fix command skb lifetime during scan setup During PA sync scan setup, hci_le_set_ext_scan_param_sync() gets the address used for the PA_LINK lookup from hci_sent_cmd_data(). The returned pointer borrows storage from sent_cmd or req_skb, without holding a reference to either skb. The scan worker runs on req_workqueue while hci_cmd_work() runs on the separate device workqueue. After the scan worker loads sent_cmd, the command worker can free and replace it before hci_sent_cmd_data() dereferences the skb. The command payload can also be freed between returning from the helper and comparing the address. The connection lookup's RCU critical section does not protect the command skb. KASAN reported: BUG: KASAN: slab-use-after-free in hci_sent_cmd_data+0x27c/0x2f0 Workqueue: hci0 hci_cmd_sync_work Call Trace: hci_sent_cmd_data+0x27c/0x2f0 hci_le_set_scan_param_sync+0x43a/0x850 hci_passive_scan_sync+0xb09/0x1460 hci_update_passive_scan_sync+0x47c/0x6e0 hci_le_pa_create_sync+0x200/0xa70 hci_cmd_sync_work+0x13c/0x290 Allocated by task 95: skb_clone+0x13f/0x340 hci_cmd_work+0x2a9/0x7e0 Freed by task 95: kmem_cache_free+0xba/0x3a0 hci_cmd_work+0x29c/0x7e0 Use hdev->lock to serialize the address snapshot with sent_cmd replacement. Protect req_skb replacement and completion cleanup with the same lock because the helper falls back to that skb. Copy the address before releasing the lock and use the copy for the existing RCU-protected connection lookup. Release the mutex before sending or waiting for commands, preserving the lookup and completion ordering.

CVSS assessments

ProviderVersionScoreVector
NVD / 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)3.17.8 HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CNA / Linux3.17.8 HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected products and packages

CNA (CVE.org)

VendorProductVersions
LinuxLinux
affected: de3c85d321bfb85b7742a6cfab95d680da3e26b1 … < f01cbddfb4273fcc9a786d13b0a2525029023605
affected: 22cbf4f84c00da64196eb15034feee868e63eef0 … < 119ba8070b3f112dd36c897f4f70ea5bb7d370b8
affected: 22cbf4f84c00da64196eb15034feee868e63eef0 … < 7db33b36213a3a1a40940c009ddac30670b55922
affected: 22cbf4f84c00da64196eb15034feee868e63eef0 … < 762850c203fab1190ad6a3de41cd51920b22236d
affected: 22cbf4f84c00da64196eb15034feee868e63eef0 … < 9af12272061d206af8bc3e40215cb694421ab73a
affected: 7a54f8314584f78fb0557153b1059924249ef628
affected: 6.6.28 … < 6.6.160
affected: 6.8.7 … < 6.9
default: unaffected
LinuxLinux
affected: 6.9
unaffected: 0 … < 6.9
unaffected: 6.6.160 … <= 6.6.*
unaffected: 6.12.114 … <= 6.12.*
unaffected: 6.18.57 … <= 6.18.*
unaffected: 7.2.11 … <= 7.2.*
unaffected: 7.3 … <= *
default: affected

Open-source packages (GitHub Advisory / OSV)

Bluetooth: hci_sync: Fix command skb lifetime during scan setup

EcosystemPackageAffected versionsFixed in
>= de3c85d321bfb85b7742a6cfab95d680da3e26b1, < f01cbddfb4273fcc9a786d13b0a2525029023605; >= 22cbf4f84c00da64196eb15034feee868e63eef0, < 119ba8070b3f112dd36c897f4f70ea5bb7d370b8; < 7db33b36213a3a1a40940c009ddac30670b55922; < 762850c203fab1190ad6a3de41cd51920b22236d; < 9af12272061d206af8bc3e40215cb694421ab73a; >= 6.6.28, < 6.6.160; >= 6.8.7, < 6.9; >= 7a54f8314584f78fb0557153b1059924249ef628
v6.6.159, v6.6.158, v6.6.157, v6.6.156, v6.6.155, v6.6.154, v6.6.153, v6.6.152, v6.6.151, v6.6.150, v6.6.149, v6.6.148, v6.6.147, v6.6.146, v6.6.145, v6.6.144, v6.6.143, v6.6.142, v6.6.141, v6.6.140, … (+118)
f01cbddfb4273fcc9a786d13b0a2525029023605, 119ba8070b3f112dd36c897f4f70ea5bb7d370b8, 7db33b36213a3a1a40940c009ddac30670b55922, 762850c203fab1190ad6a3de41cd51920b22236d, 9af12272061d206af8bc3e40215cb694421ab73a, 6.6.160, 6.9
LinuxKernel< 6.6.160; >= 6.7.0, < 6.12.114; >= 6.9.0, < 6.18.57; >= 6.13.0, < 7.2.116.6.160, 6.12.114, 6.18.57, 7.2.11

Linux distribution status

Red Hat ↗ Fetching

Debian ↗

ReleasePackageStatusFixed version / notes
bookwormlinuxnot-affected unimportant
forkylinuxresolved not yet assigned7.2.11-1
sidlinuxresolved not yet assigned7.2.11-1
trixielinuxopen not yet assigned

Ubuntu ↗ Fetching

References (8)