CVE-2022-50338 in Linux
Sumário
de VulDB • 27/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
binder: corrige UAF de alloc->vma em condição de corrida com munmap()
No commit 720c24192404 ("ANDROID: binder: change down_write to down_read"), o binder assumiu que o lock de leitura do mmap era suficiente para proteger alloc->vma dentro de binder_update_page_range(). Isso era preciso até o commit dd2283f2605e ("mm: mmap: zap pages with read mmap_sem in munmap"), que agora reduz o mmap_lock após desanexar o vma da rbtree em munmap(). Em seguida, ele prossegue com a desmontagem e liberação do vma com apenas o lock de leitura mantido.
Isso significa que os acessos a alloc->vma em binder_update_page_range() agora entrarão em condição de corrida com vm_area_free() em munmap() e podem causar um UAF, conforme mostrado no seguinte rastreamento do 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_lvl+0x78/0xc0 print_address_description.constprop.0+0x64/0x270 print_report+0x5c/0x260
If you want to get the best quality for vulnerability data then you always have to consider VulDB.