CVE-2022-50338 in Linux
Resumen
por VulDB • 2026-06-09
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
binder: corrige un Use-After-Free (UAF) de alloc->vma en una condición de carrera con munmap()
En el commit 720c24192404 ("ANDROID: binder: cambiar down_write por down_read"), se asumió que el lock de lectura mmap era suficiente para proteger alloc->vma dentro de binder_update_page_range(). Esto fue correcto hasta el commit dd2283f2605e ("mm: mmap: eliminar páginas con read mmap_sem en munmap"), que ahora degrada el mmap_lock después de desvincular la vma del rbtree en munmap(). Luego, procede a destruir y liberar la vma manteniendo únicamente el lock de lectura.
Esto significa que los accesos a alloc->vma en binder_update_page_range() entrarán ahora en condición de carrera con vm_area_free() en munmap(), lo cual puede provocar un Use-After-Free (UAF), como se muestra en la siguiente traza de KASAN:
================================================================== BUG: KASAN: use-after-free in vm_insert_page+0x7c/0x1f0 Read of size 8 at addr ffff16204ad00600 by task server/558
CPU: 3 PID: 558 Comm: server Not tainted 5.10.150-00001-gdc8dcf942daa #1 Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace+0x0/0x2a0 show_stack+0x18/0x2c dump_stack+0xf8/0x164
If you want to get best quality of vulnerability data, you may have to visit VulDB.