Bluetooth: btusb: Fix UAF of btusb_data by rx_work (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: btusb: Fix UAF of btusb_data by rx_work btusb_close() and btusb_flush() cancel data->rx_work with the asynchronous cancel_delayed_work(), so if btusb_rx_work() is already running on another CPU it keeps running after the cancel returns. btusb_disconnect() calls hci_unregister_dev(), which invokes btusb_close(), and then frees the btusb_data. A still running btusb_rx_work() then dereferences the freed data: while ((skb = skb_dequeue(&data->acl_q))) data->recv_acl(data->hdev, skb); Use cancel_delayed_work_sync() instead. In btusb_close() the cancel also has to happen after btusb_stop_traffic(), otherwise an URB completion racing with the cancel can requeue the work right after it has been waited for.
Références
- https://git.kernel.org/stable/c/fc654a72a8d979db15e2773a481e931abaf5a9e8
- https://git.kernel.org/stable/c/5242050195a711e9cd6a9935f689ab6656b94a91
- https://git.kernel.org/stable/c/472d005622525b7be155cac99dde2252b0163bd1
- https://git.kernel.org/stable/c/93b59937bda3fffc6386c79f5544a39bc680c8e8
- https://git.kernel.org/stable/c/fa391adb9c755515a89993634745e9079e5ef37c
- https://git.kernel.org/stable/c/1c12c3117639e78940959d956519c758c57d0849
Références européennes
- ENISA EUVD · EUVD-2026-86631
- GCVE · GCVE-0-2026-97977
Avis du CERT-FR
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1375 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · 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
Produits affectés
| Produit | Versions |
|---|---|
| Linux · Linux | affected 800fe5ec302e1ebbf5e3f891f886deecd49c7132 < fc654a72a8d979db15e2773a481e931abaf5a9e8 ; affected 800fe5ec302e1ebbf5e3f891f886deecd49c7132 < 5242050195a711e9cd6a9935f689ab6656b94a91 ; affected 800fe5ec302e1ebbf5e3f891f886deecd49c7132 < 472d005622525b7be155cac99dde2252b0163bd1 ; affected 800fe5ec302e1ebbf5e3f891f886deecd49c7132 < 93b59937bda3fffc6386c79f5544a39bc680c8e8 ; affected 800fe5ec302e1ebbf5e3f891f886deecd49c7132 < fa391adb9c755515a89993634745e9079e5ef37c ; affected 800fe5ec302e1ebbf5e3f891f886deecd49c7132 < 1c12c3117639e78940959d956519c758c57d0849 |
| Linux · Linux | affected 5.17 ; unaffected 0 < 5.17 ; unaffected 6.1.189 ≤ 6.1.* ; unaffected 6.6.158 ≤ 6.6.* ; unaffected 6.12.111 ≤ 6.12.* ; unaffected 6.18.53 ≤ 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 |