Vulnerabilidad en kernel de Linux (CVE-2022-49171)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/02/2025
Última modificación:
26/02/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ext4: no generar ERRORES si alguien ensucia páginas sin preguntar primero a ext4 [un]pin_user_pages_remote está ensuciando páginas sin advertir adecuadamente al sistema de archivos con anticipación. Jan Kara notó una ejecución relacionada en 2018[1]; sin embargo, más recientemente, en lugar de ser una ejecución muy difícil de alcanzar, podría ser activada de manera confiable por process_vm_writev(2) que fue descubierto por Syzbot[2]. Técnicamente, esto es un error en mm/gup.c, pero podría decirse que ext4 es frágil en el sentido de que si algún otro subsistema del kernel ensucia páginas sin notificar adecuadamente al sistema de archivos usando page_mkwrite(), ext4 generará ERRORES, mientras que otros sistemas de archivos no generarán ERRORES (aunque aún se perderán datos). Entonces, en lugar de bloquearse con un ERROR, emita una advertencia (ya que puede haber una posible pérdida de datos) y simplemente marque la página como limpia para evitar ataques de denegación de servicio sin privilegios hasta que el problema pueda solucionarse correctamente. Se puede encontrar más discusión y antecedentes en el hilo que comienza en [2]. [1] https://lore.kernel.org/linux-mm/20180103100430.GE4911@quack2.suse.cz [2] https://lore.kernel.org/r/Yg0m6IjcNmfaSokM@google.com
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/0d3a6926f7e8be3c897fa46216ce13b119a9f56a
- https://git.kernel.org/stable/c/330d0e44fc5a47c27df958ecdd4693a3cb1d8b81
- https://git.kernel.org/stable/c/343117559ef41e992e326f7a92da1a8f254dfa8c
- https://git.kernel.org/stable/c/5a016c053f426a73752c3b41b60b497b58694d48
- https://git.kernel.org/stable/c/5db60e76edf5680ff1f3a7221036fc44b308f146
- https://git.kernel.org/stable/c/677c9d30e8487bee6c8e3b034070319d98f6e203
- https://git.kernel.org/stable/c/a0856764dc1276ad2dc7891288c2e9246bf11a37
- https://git.kernel.org/stable/c/cc5095747edfb054ca2068d01af20be3fcc3634f
- https://git.kernel.org/stable/c/d666dfaa571465a19f014534a214c255ea33f301