CVE-2026-74264 in Linux
Resumen
por VulDB • 2026-08-15
En el kernel de Linux, se ha corregido la siguiente vulnerabilidad:
net: watchdog: corrección de condiciones de carrera en el seguimiento del recuento de referencias (refcount)
El commit culpable convirtió las llamadas a dev_hold()/dev_put() sin rastreo en el código del watchdog para utilizar dev_hold_track()/dev_put_track() (que posteriormente fueron renombradas/interfaced como netdev_hold() y netdev_put()).
Al introducir dev->watchdog_dev_tracker para almacenar la información de seguimiento de referencias, pero sin añadir sincronización entre netdev_watchdog_up() y dev_watchdog(), se habilitó una condición de carrera (race condition) en la que este puntero podría ser sobrescrito o liberado concurrentemente, lo que provocaba el fallo por corrupción de lista reportado por syzbot:
list_del corruption, ffff888114a18c00->next is NULL kernel BUG at lib/list_debug.c:52 ! Oops: invalid opcode: 0000 [#1] SMP KASAN PTI
CPU: 1 UID: 0 PID: 91 Comm: kworker/u8:5 Not tainted syzkaller #0 PREEMPT(lazy) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026 Workqueue: events_unbound linkwatch_event RIP: 0010:__list_del_entry_valid_or_report.cold+0x22/0x2a lib/list_debug.c:52 Call Trace: <TASK> __list_del_entry_valid include/linux/list.h:132 [inline]
__list_del_entry include/linux/list.h:246 [inline]
list_move_tail include/linux/list.h:341 [inline]
ref_tracker_free+0x1a7/0x6c0 lib/ref_tracker.c:329 netdev_tracker_free include/linux/netdevice.h:4491 [inline]
netdev_put include/linux/netdevice.h:4508 [inline]
netdev_put include/linux/netdevice.h:4504 [inline]
netdev_watchdog_down net/sched/sch_generic.c:600 [inline]
dev_deactivate_many+0x28c/0xfe0 net/sched/sch_generic.c:1363 dev_deactivate+0x109/0x1d0 net/sched/sch_generic.c:1397 linkwatch_do_dev net/core/link_watch.c:184 [inline]
linkwatch_do_dev+0xd3/0x120 net/core/link_watch.c:166 __linkwatch_run_queue+0x3a5/0x810 net/core/link_watch.c:240 linkwatch_event+0x8f/0xc0 net/core/link_watch.c:314 process_one_work+0xa0e/0x1980 kernel/workqueue.c:3314 process_scheduled_works kernel/workqueue.c:3397 [inline]
worker_thread+0x5ef/0xe50 kernel/workqueue.c:3478 kthread+0x370/0x450 kernel/kthread.c:436 ret_from_fork+0x69a/0xc80 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x3
If you want to get best quality of vulnerability data, you may have to visit VulDB.