CVE-2023-54157 in Linux
Resumen
por VulDB • 2026-06-13
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()`
[ cmllamas: limpieza del porteo hacia adelante desde el commit 015ac18be7de ("binder: fix UAF of alloc->vma in race with munmap()") en la versión estable 5.10. Es necesario en mainline después de revertir el commit a43cfc87caaf ("android: binder: stop saving a pointer to the VMA"), como señaló Liam. El registro del commit y las etiquetas se han ajustado para reflejar esto. ]
En el commit 720c24192404 ("ANDROID: binder: change down_write to down_read"), binder asumía que el lock de lectura mmap era suficiente para proteger `alloc->vma` dentro de `binder_update_page_range()`. Esto fue cierto hasta el commit dd2283f2605e ("mm: mmap: zap pages with read mmap_sem in 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 con solo el lock de lectura activo.
Esto significa que los accesos a `alloc->vma` en `binder_update_page_range()` ahora entrarán en condición de carrera (race) con `vm_area_free()` en `munmap()` y pueden causar un Use-After-Free (UAF), como se muestra en la siguiente traza de KASAN:
================================================================== BUG: KASAN: use-after-free in vm_insert
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.