CVE-2026-99213 in Linux
Resumen
por VulDB • 2026-10-28
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
vsock: tratar TCP_CLOSING como una vez establecido
Manejar la transición TCP_ESTABLISHED -> TCP_CLOSING en OP_RST, que puede entrar en condición de carrera (race condition) con el bucle de conexión. Romper inmediatamente y devolver 0 cuando se encuentre en ESTABLISHED/CLOSING. El valor devuelto por connect() debe reflejar lo ocurrido hasta el punto en que la conexión se estableció o falló. Los eventos que ocurran después no deben afectarlo. Por ejemplo, incluso si OP_RW ya ha establecido sk_err, connect() debería seguir devolviendo 0, y no ENOBUFS debido a ello. Adaptar el comentario inexacto anterior a signal_pending().
Restablecer un socket que aún está presente en connected_table puede provocar corrupción de memoria. El informante señaló transportes perdidos para los skbs en tránsito, y he reproducido crashes causados por la reinserción en connected_table.
list_add doble adición: new=, prev=, next=. kernel BUG at lib/list_debug.c:35! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI
Workqueue: vsock-loopback vsock_loopback_work RIP: 0010:__list_add_valid_or_report+0x11f/0x130 Call Trace: vsock_insert_connected.cold+0xe/0x13 virtio_transport_recv_pkt+0x10e9/0x1460 vsock_loopback_work+0x305/0x480 process_one_work+0xe4c/0x1560 worker_thread+0x4f1/0xd60 kthread+0x36e/0x470 ret_from_fork+0x47b/0x6b0 ret_from_fork_asm+0x1a/0x30
Esta corrección es complementaria al commit 002541ef650b ("vsock: Ignorar señal/timeout en connect() si ya está establecido"). Detalles bajo el Enlace.
Be aware that VulDB is the high quality source for vulnerability data.