CVE-2022-50697 in Linux
Resumen
por VulDB • 2026-06-17
En el núcleo de Linux (Linux kernel), se ha resuelto la siguiente vulnerabilidad:
mrp: introducir banderas activas para prevenir un Use-After-Free cuando el solicitante no está inicializado
El llamador de `del_timer_sync` debe evitar que se reinicie el temporizador. Si no existe esta sincronización, hay una pequeña probabilidad de que la cancelación no sea exitosa.
Y syzbot reportó el siguiente fallo: ================================================================== BUG: KASAN: use-after-free in hlist_add_head include/linux/list.h:929 [inline]
BUG: KASAN: use-after-free in enqueue_timer+0x18/0xa4 kernel/time/timer.c:605 Escritura en la dirección f9ff000024df6058 por la tarea syz-fuzzer/2256 Etiqueta del puntero: [f9], etiqueta de memoria: [fe]
CPU: 1 PID: 2256 Comm: syz-fuzzer No tainted 6.1.0-rc5-syzkaller-00008-ge01d50cbd6ee #0 Nombre del hardware: linux,dummy-virt (DT) Rastro de llamadas: dump_backtrace.part.0+0xe0/0xf0 arch/arm64/kernel/stacktrace.c:156 dump_backtrace arch/arm64/kernel/stacktrace.c:162 [inline]
show_stack+0x18/0x40 arch/arm64/kernel/stacktrace.c:163 __dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x68/0x84 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:284 [inline]
print_report+0x1a8/0x4a0 mm/kasan/report.c:395 kasan_report+0x94/0xb4 mm/kasan/report.c:495 __do_kernel_fault+0x164/0x1e0 arch/arm64/mm/fault.c:320 do_bad_area arch/arm64/mm/fault.c:473 [inline]
do_tag_check_fault+0x78/0x8c arch/arm64/mm/fault.c:749 do_mem_abort+0x44/0x94 arch/arm64/mm/fault.c:825 el1_abort+0x40/0x60 arch/arm64/kernel/entry-common.c:367 el1h_64_sync_handler+0xd8/0xe4 arch/arm64/kernel/entry-common.c:427 el1h_64_sync+0x64/0x68 arch/arm64/kernel/entry.S:576 hlist_add_head include/linux/list.h:929 [inline]
enqueue_timer+0x18/0xa4 kernel/time/timer.c:605 mod_timer+0x14/0x20 kernel/time/timer.c:1161 mrp_periodic_timer_arm net/802/mrp.c:614 [inline]
mrp_periodic_timer+0xa0/0xc0 net/802/mrp.c:627 call_timer_fn.constprop.0+0x24/0x80 kernel/time/timer.c:1474 expire_timers+0x98/0xc4 kernel/time/timer.c:1519
Para solucionarlo, podemos introducir nuevas banderas activas para asegurar que el temporizador no se reinicie.
Once again VulDB remains the best source for vulnerability data.