PT-2026-121990

CVE-2026-99013

·

Publicado

2026-10-23

·

Atualizado

2026-10-23

Descrição por

CVSS 3.1
7.8
Alta
MétricasAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: ISO: Reject concurrent BIS listener setup
iso sock listen() drops the socket lock before calling iso listen bis() to preserve the hdev->lock ordering. Two concurrent listen() calls on the same broadcast socket can therefore both observe BT BOUND. Caller A can attach connA and release the locks, then caller B can acquire them and attach connB before A publishes BT LISTEN.
iso chan add() checks whether connB already has a socket, but not whether the socket already has a connection. The second attachment overwrites iso pi(sk)->conn, leaking the connA reference and leaving connA->sk intact. Socket teardown follows connB, so later events on connA can cause a stale socket access.
Recheck BT BOUND and require iso pi(sk)->conn to be NULL after taking both the HCI device and socket locks in iso listen bis(). The connection check also covers the interval between attachment and publication of BT LISTEN. Reject a competing setup with -EBADFD through the existing unlock path before allocating another connection.
A recorded KASAN report from an instrumented kernel shows:
BUG: KASAN: slab-use-after-free in iso sock hold+0x119/0x1f0 Call Trace: iso sock hold+0x119/0x1f0 iso conn del+0xe4/0x270 hci disconn complete evt+0x351/0x8c0 hci event packet+0x71b/0xb20 hci rx work+0x293/0x730
Allocated by task 93: sk prot alloc+0x113/0x220 sk alloc+0x2b/0x6d0 bt sock alloc+0x29/0x370 iso sock alloc.constprop.0+0x19/0x300 iso sock create+0x94/0x100
Freed by task 93: kfree+0x121/0x3c0 sk destruct+0x42b/0x540 iso sock release+0x29d/0x340 sock release+0xa1/0x260 sock close+0x10/0x20
Explorabilidade
Correção
Fornecedores
Produtos afetados
Identificadores relacionados
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾