Vulnerabilidad en kernel de Linux (CVE-2024-42293)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
17/08/2024
Última modificación:
19/08/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: arm64: mm: corrige recorridos sin bloqueo con plegado de tablas de páginas estáticas y dinámicas. Lina informa oopsen aleatorios que se originan en el código GUP rápido cuando se utilizan páginas de 16 KB con tablas de páginas de 4 niveles. el cuarto nivel se pliega en tiempo de ejecución debido a la falta de LPA2. En esta configuración, la implementación genérica de p4d_offset_lockless() devolverá un 'p4d_t *' correspondiente al 'pgd_t' asignado en la pila de la persona que llama, gup_fast_pgd_range(). Esto normalmente está bien, pero cuando el cuarto nivel de la tabla de páginas se pliega en tiempo de ejecución, pud_offset_lockless() se desplazará de la dirección de 'p4d_t' para calcular la dirección del PUD en la misma página de la tabla de páginas. Esto da como resultado una lectura de pila perdida cuando el 'p4d_t' se ha asignado en la pila y puede enviar al caminante hacia la maleza. Solucione el problema proporcionando nuestra propia definición de p4d_offset_lockless() cuando CONFIG_PGTABLE_LEVELS <= 4, que devuelve el puntero de la tabla de páginas real en lugar de la dirección de la variable de pila local.