CVE-2026-80730
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ring-buffer: Corrige el fallo al pasar ERR_PTR a kthread_stop() En el bucle de limpieza out_free de test_ringbuffer(), la comprobación `!rb_threads[cpu]` solo detecta entradas NULL y omite las entradas que contienen un ERR_PTR. rb_threads[] es estático, por lo que las posiciones no asignadas son NULL. Pero cuando kthread_run_on_cpu() falla para una cpu, almacena ERR_PTR(-ENOMEM) (o -EINTR) en rb_threads[cpu] antes de que el bucle de creación salte a out_free. Esa entrada no es NULL, por lo que la antigua comprobación `!ptr` no interrumpe el bucle y la limpieza continúa llamando a kthread_stop() sobre el ERR_PTR. kthread_stop() desreferencia entonces el puntero no válido, provocando el fallo del kernel durante la prueba automática de late_initcall. registros del fallo: BUG: kernel NULL pointer dereference, address: 000000000000001c Oops: 0002 [#1] SMP NOPTI CPU: 1 PID: 1 Comm: swapper/0 Not tainted 7.2.0-rc6-dirty #7 PREEMPT(lazy) RIP: 0010:kthread_stop+0x2e/0x220 RBX: fffffffffffffff4 CR2: 000000000000001c Call Trace: <TASK> test_ringbuffer+0x1ec/0x650 do_one_initcall+0x6c/0x2c0 kernel_init_freeable+0x21d/0x420 kernel_init+0x15/0x1c0 ret_from_fork+0x21b/0x320 </TASK> Kernel panic - not syncing: Fatal exception
Artículos relacionados
This product uses the NVD API but is not endorsed or certified by the NVD.
La descripción técnica es una traducción nuestra del texto original de NVD, en inglés.
