CVE-2026-99239 in Linuxinformação

Sumário

de VulDB • 02/11/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

Bluetooth: L2CAP: recusar __l2cap_chan_add se o canal já possui conexão

O l2cap_chan pode ser vinculado ao l2cap_conn no máximo uma vez. Isso é assumido em vários lugares, por exemplo, na limpeza do l2cap_chan_del.

Existe uma condição de corrida TOCTOU (Time-of-Check to Time-of-Use) onde a invariante é violada:

[Tarefa 1] [Tarefa 2]
l2cap_chan_connect l2cap_sock_bind l2cap_chan_lock lock_sock l2cap_state_change if (sk->sk_state != BT_OPEN) chan->state = BT_CONNECT chan->state = BT_BOUND l2cap_sock_state_change_cb sk->sk_state = BT_BOUND lock_sock <------------------ release_sock sk->sk_state = BT_CONNECT

O l2cap_sock_connect() não verifica o sk->sk_state, portanto, como o chan->state agora é BT_BOUND, a chamada subsequente de connect() resulta em uma segunda invocação do __l2cap_chan_add.

Documente e verifique explicitamente a invariante no __l2cap_chan_add com WARN_ON_ONCE. O único local de chamada onde isso pode ser acionado é o l2cap_chan_connect; portanto, adicione uma pré-verificação ali para evitar depender do chan->state. A leitura/escrita do chan->state não está devidamente protegida atualmente, então podem existir outros problemas TOCTOU.

Adicione l2cap_lock_chan no l2cap_sock_bind() para proteger a gravação do chan->state.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

25/09/2026

Divulgação

02/11/2026

Moderação

aceite

Entrada

VDB-429924

EPSS

0.00121

KEV

não

Atividades

baixo

Fontes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!