CVE-2026-80762 (GCVE-0-2026-80762)
Vulnerability from cvelistv5
Published
2026-09-04 15:12
Modified
2026-09-04 15:12
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci_sync: Fix accept list UAF during suspend
hci_update_event_filter_sync() walks hdev->accept_list while sending a
synchronous HCI command for each remote-wakeup device. The suspend path
holds hdev->req_lock, but accept-list updates are serialized by hdev->lock.
Consequently, remove_device() can free the current list entry during the
controller wait.
The following interleaving causes the use-after-free:
hci_update_event_filter_sync() remove_device()
fetch accept-list entry
hci_set_event_filter_sync()
wait for controller response hci_dev_lock()
list_del()
kfree()
hci_dev_unlock()
read the freed list.next
KASAN reported:
BUG: KASAN: slab-use-after-free in hci_suspend_sync+0x835/0x910
Read of size 8 at addr ffff88810bec8440 by task kworker/0:1/10
Workqueue: events vhci_suspend_work
Call Trace:
hci_suspend_sync+0x835/0x910
hci_suspend_dev+0x182/0x450
process_one_work+0x661/0x1090
worker_thread+0x45b/0xd10
Allocated by task 86:
hci_bdaddr_list_add_with_flags+0x1a8/0x400
add_device+0x381/0x820
hci_sock_sendmsg+0x1033/0x1ea0
Freed by task 91:
kfree+0x131/0x3c0
remove_device+0x429/0xb70
hci_sock_sendmsg+0x1033/0x1ea0
Snapshot the remote-wakeup addresses under hdev->lock. Release the lock
before sending HCI commands. Clear the controller event filter before
building the snapshot, and skip allocation and the second list traversal
when there are no matching entries. This preserves the original filter
and scan-state updates without retaining an accept-list node across a
controller wait.
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Version: 182ee45da083db4e3e621541ccf255bfa9652214 Version: 182ee45da083db4e3e621541ccf255bfa9652214 Version: 182ee45da083db4e3e621541ccf255bfa9652214 Version: 182ee45da083db4e3e621541ccf255bfa9652214 Version: 182ee45da083db4e3e621541ccf255bfa9652214 Version: 182ee45da083db4e3e621541ccf255bfa9652214 Version: 182ee45da083db4e3e621541ccf255bfa9652214 |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/bluetooth/hci_sync.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "bb5f5414d1a6272a16f68684e998f4063dd19f57",
"status": "affected",
"version": "182ee45da083db4e3e621541ccf255bfa9652214",
"versionType": "git"
},
{
"lessThan": "b5181516a9f5c2fdb3271cdad72a5b16c6963a44",
"status": "affected",
"version": "182ee45da083db4e3e621541ccf255bfa9652214",
"versionType": "git"
},
{
"lessThan": "87ad116ac3abc6f2ce2b5b6c488f633003581eee",
"status": "affected",
"version": "182ee45da083db4e3e621541ccf255bfa9652214",
"versionType": "git"
},
{
"lessThan": "fe93a697a7a92fa9adf78c9ff67a10db3193290c",
"status": "affected",
"version": "182ee45da083db4e3e621541ccf255bfa9652214",
"versionType": "git"
},
{
"lessThan": "95bb57bc11a91caf042ad00fca85e480d3fda37f",
"status": "affected",
"version": "182ee45da083db4e3e621541ccf255bfa9652214",
"versionType": "git"
},
{
"lessThan": "29c59212a507804d7616b8abf491d30b4ab8e75f",
"status": "affected",
"version": "182ee45da083db4e3e621541ccf255bfa9652214",
"versionType": "git"
},
{
"lessThan": "f57b399c4fa1501b2d5451f52d861ece86bcf3db",
"status": "affected",
"version": "182ee45da083db4e3e621541ccf255bfa9652214",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/bluetooth/hci_sync.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.17"
},
{
"lessThan": "5.17",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.187",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.156",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.108",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.47",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.11",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.1",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3-rc1",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.187",
"versionStartIncluding": "5.17",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.156",
"versionStartIncluding": "5.17",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.108",
"versionStartIncluding": "5.17",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.47",
"versionStartIncluding": "5.17",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.11",
"versionStartIncluding": "5.17",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.1",
"versionStartIncluding": "5.17",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3-rc1",
"versionStartIncluding": "5.17",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_sync: Fix accept list UAF during suspend\n\nhci_update_event_filter_sync() walks hdev-\u003eaccept_list while sending a\nsynchronous HCI command for each remote-wakeup device. The suspend path\nholds hdev-\u003ereq_lock, but accept-list updates are serialized by hdev-\u003elock.\nConsequently, remove_device() can free the current list entry during the\ncontroller wait.\n\nThe following interleaving causes the use-after-free:\n\n hci_update_event_filter_sync() remove_device()\n fetch accept-list entry\n hci_set_event_filter_sync()\n wait for controller response hci_dev_lock()\n list_del()\n kfree()\n hci_dev_unlock()\n read the freed list.next\n\nKASAN reported:\n\n BUG: KASAN: slab-use-after-free in hci_suspend_sync+0x835/0x910\n Read of size 8 at addr ffff88810bec8440 by task kworker/0:1/10\n Workqueue: events vhci_suspend_work\n Call Trace:\n hci_suspend_sync+0x835/0x910\n hci_suspend_dev+0x182/0x450\n process_one_work+0x661/0x1090\n worker_thread+0x45b/0xd10\n\n Allocated by task 86:\n hci_bdaddr_list_add_with_flags+0x1a8/0x400\n add_device+0x381/0x820\n hci_sock_sendmsg+0x1033/0x1ea0\n\n Freed by task 91:\n kfree+0x131/0x3c0\n remove_device+0x429/0xb70\n hci_sock_sendmsg+0x1033/0x1ea0\n\nSnapshot the remote-wakeup addresses under hdev-\u003elock. Release the lock\nbefore sending HCI commands. Clear the controller event filter before\nbuilding the snapshot, and skip allocation and the second list traversal\nwhen there are no matching entries. This preserves the original filter\nand scan-state updates without retaining an accept-list node across a\ncontroller wait."
}
],
"providerMetadata": {
"dateUpdated": "2026-09-04T15:12:34.354Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/bb5f5414d1a6272a16f68684e998f4063dd19f57"
},
{
"url": "https://git.kernel.org/stable/c/b5181516a9f5c2fdb3271cdad72a5b16c6963a44"
},
{
"url": "https://git.kernel.org/stable/c/87ad116ac3abc6f2ce2b5b6c488f633003581eee"
},
{
"url": "https://git.kernel.org/stable/c/fe93a697a7a92fa9adf78c9ff67a10db3193290c"
},
{
"url": "https://git.kernel.org/stable/c/95bb57bc11a91caf042ad00fca85e480d3fda37f"
},
{
"url": "https://git.kernel.org/stable/c/29c59212a507804d7616b8abf491d30b4ab8e75f"
},
{
"url": "https://git.kernel.org/stable/c/f57b399c4fa1501b2d5451f52d861ece86bcf3db"
}
],
"title": "Bluetooth: hci_sync: Fix accept list UAF during suspend",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-80762",
"datePublished": "2026-09-04T15:12:34.354Z",
"dateReserved": "2026-08-26T14:34:25.791Z",
"dateUpdated": "2026-09-04T15:12:34.354Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…