Bluetooth: hci_sync: Fix accept list UAF during suspend (Linux Linux)
En bref
- Source
- NVD
- EPSS
- EPSS 0.17 % · centile 7 ()
- État
- PUBLISHED
- Publiée
- Mise à jour
- Attribuée par
- Linux
- Statut NVD
- Received
Rechercher sur…
Description
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.
Références
- https://git.kernel.org/stable/c/bb5f5414d1a6272a16f68684e998f4063dd19f57
- https://git.kernel.org/stable/c/b5181516a9f5c2fdb3271cdad72a5b16c6963a44
- https://git.kernel.org/stable/c/87ad116ac3abc6f2ce2b5b6c488f633003581eee
- https://git.kernel.org/stable/c/fe93a697a7a92fa9adf78c9ff67a10db3193290c
- https://git.kernel.org/stable/c/95bb57bc11a91caf042ad00fca85e480d3fda37f
- https://git.kernel.org/stable/c/29c59212a507804d7616b8abf491d30b4ab8e75f
- https://git.kernel.org/stable/c/f57b399c4fa1501b2d5451f52d861ece86bcf3db
Références européennes
- ENISA EUVD · EUVD-2026-71405
- GCVE · GCVE-0-2026-80762
Avis du CERT-FR
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1289 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1253 — Multiples vulnérabilités dans le noyau Linux de Debian · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1163 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
Produits affectés
| Produit | Versions |
|---|---|
| Linux · Linux | affected 182ee45da083db4e3e621541ccf255bfa9652214 < bb5f5414d1a6272a16f68684e998f4063dd19f57 ; affected 182ee45da083db4e3e621541ccf255bfa9652214 < b5181516a9f5c2fdb3271cdad72a5b16c6963a44 ; affected 182ee45da083db4e3e621541ccf255bfa9652214 < 87ad116ac3abc6f2ce2b5b6c488f633003581eee ; affected 182ee45da083db4e3e621541ccf255bfa9652214 < fe93a697a7a92fa9adf78c9ff67a10db3193290c ; affected 182ee45da083db4e3e621541ccf255bfa9652214 < 95bb57bc11a91caf042ad00fca85e480d3fda37f ; affected 182ee45da083db4e3e621541ccf255bfa9652214 < 29c59212a507804d7616b8abf491d30b4ab8e75f |
| Linux · Linux | affected 5.17 ; unaffected 0 < 5.17 ; unaffected 6.1.187 ≤ 6.1.* ; unaffected 6.6.156 ≤ 6.6.* ; unaffected 6.12.108 ≤ 6.12.* ; unaffected 6.18.47 ≤ 6.18.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |