Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb() (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.29 % · percentile 22 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Received
Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb() l2cap_sock_new_connection_cb() returned l2cap_pi(sk)->chan after release_sock(parent). Once the parent lock is dropped the newly enqueued child socket sk is reachable via the accept queue, so another task can accept and free it before the callback dereferences sk, resulting in a use-after-free. Rework the ->new_connection() op so the core, rather than the callback, owns the child channel's lifetime. The op now receives a pre-allocated new_chan and returns an errno instead of allocating and returning a channel. l2cap_new_connection() allocates the child channel and links it into the conn list via __l2cap_chan_add() before invoking the callback, so the conn-list reference keeps the channel alive once release_sock(parent) exposes the socket to other tasks. Channel configuration that was duplicated in l2cap_sock_init() and the various new_connection callbacks is consolidated into l2cap_chan_set_defaults(), which now inherits from the parent channel when one is supplied.
Weaknesses (CWE)
- CWE-416 — Use After Free
References
- https://git.kernel.org/stable/c/b39298044e5534612511a2ff5de03ba5f6e7a820
- https://git.kernel.org/stable/c/8c37e4338c801ebb8cee52436c01c41e009f6e87
- https://git.kernel.org/stable/c/84e718b6a814edc84159361f9f454a4e92ae91ae
- https://git.kernel.org/stable/c/36da806f7fbaee56ad9e81859deec203f9728700
- https://git.kernel.org/stable/c/733e76e74e406c1d1ddc7369420dd8a47f48bb8a
- https://git.kernel.org/stable/c/6fef032af0092ed5ccb767239a9ac1bc38c08a40
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 8.8 | CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | Linux |
| CVSS 3.1 | HIGH 8.8 | CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | NVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) |
European references
- ENISA EUVD · EUVD-2026-50202
- GCVE · GCVE-0-2026-64557
CERT-FR advisories
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1333 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1286 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1203 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1031 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0982 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0981 — Multiples vulnérabilités dans le noyau Linux de Debian · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 8ffb929098a56939ac71509302eeab5b207bf262 < b39298044e5534612511a2ff5de03ba5f6e7a820 ; affected 8ffb929098a56939ac71509302eeab5b207bf262 < 8c37e4338c801ebb8cee52436c01c41e009f6e87 ; affected 8ffb929098a56939ac71509302eeab5b207bf262 < 84e718b6a814edc84159361f9f454a4e92ae91ae ; affected 8ffb929098a56939ac71509302eeab5b207bf262 < 36da806f7fbaee56ad9e81859deec203f9728700 ; affected 8ffb929098a56939ac71509302eeab5b207bf262 < 733e76e74e406c1d1ddc7369420dd8a47f48bb8a ; affected 8ffb929098a56939ac71509302eeab5b207bf262 < 6fef032af0092ed5ccb767239a9ac1bc38c08a40 |
| Linux · Linux | affected 3.13 ; unaffected 0 < 3.13 ; unaffected 6.1.178 ≤ 6.1.* ; unaffected 6.6.145 ≤ 6.6.* ; unaffected 6.12.97 ≤ 6.12.* ; unaffected 6.18.40 ≤ 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 |