CVE-2026-99239 in Linuxinformación

Resumen

por VulDB • 2026-11-02

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

Bluetooth: L2CAP: rechazar __l2cap_chan_add si el canal ya tiene conexión

l2cap_chan solo puede estar vinculado a l2cap_conn como máximo una vez. Esto se asume en varios lugares, por ejemplo, en la limpieza de l2cap_chan_del.

Existe una condición de carrera TOCTOU (Time-of-Check to Time-of-Use) donde se viola el invariante:

[Tarea 1] [Tarea 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

l2cap_sock_connect() no verifica sk->sk_state, por lo que dado que chan->state es ahora BT_BOUND, la llamada posterior a connect() termina realizando una segunda __l2cap_chan_add.

Documentar y verificar explícitamente el invariante en __l2cap_chan_add con WARN_ON_ONCE. El único punto de entrada donde podría activarse es l2cap_chan_connect, por lo que se añade una comprobación previa allí para evitar depender de chan->state. La lectura/escritura de chan->state no está correctamente protegida actualmente, por lo que pueden existir otros problemas TOCTOU.

Añadir l2cap_lock_chan en l2cap_sock_bind() para proteger la escritura de chan->state.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-11-02

Moderación

aceptado

Artículo

VDB-429924

EPSS

0.00000

KEV

no

Actividades

bajo

Fuentes

Interested in the pricing of exploits?

See the underground prices here!