CVE-2026-80914

CVE-2026-80914

High · published September 9, 2026

CVSS v3.1
8.8
EPSS
0%
Percentile
13.3
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: ISO: fix use-after-free of listener socket in iso_conn_ready

iso_conn_ready() looks up the BIS listener socket with iso_get_sock(),

which takes a reference, and then, without re-checking its state,

creates a child socket from it:

parent = iso_get_sock(hdev, ...);

if (!parent)

return;

lock_sock(parent);

sk = iso_sock_alloc(sock_net(parent), NULL, BTPROTO_ISO, ...);

...

iso_chan_add(conn, sk, parent);

...

release_sock(parent);

sock_put(parent);

If the listener socket is closed concurrently, between iso_get_sock()

and lock_sock(), the reference taken by iso_get_sock() may be the last

one: the close path drops the link-list reference, and once

iso_conn_ready() drops its own reference at the end of the function the

socket is freed. The child socket, however, is already linked to the

freed parent, and a later disconnect of the child runs iso_chan_del()

-> bt_accept_unlink(), which dereferences the dangling parent pointer

into the freed accept queue (a use-after-free). The same dangling

pointer is also dereferenced through parent->***() in

iso_chan_del().

Fix it the same way the connected (non-BIS) path was fixed in commit

0d255e63fcf3 ("Bluetooth: ISO: hold sk properly in iso_conn_ready"):

after taking the socket lock, re-check that the parent is still a

listening, alive socket, and bail out otherwise.

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00232 · 13.3th percentile
Published
2026-09-09T21:17Z
References (6)
EPSS history
Timeline
  • 11 SEP 03:19Z
    EPSS moved — → 0%
    epss
  • 09 SEP 16:10Z
    Bluetooth: ISO: fix use-after-free of listener socket in iso_conn_ready
    cvelistv5