Vulnerabilidad en kernel de Linux (CVE-2022-48892)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-415
Doble liberación
Fecha de publicación:
21/08/2024
Última modificación:
29/08/2024
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: sched/core: corrige el error de use-after-free en dup_user_cpus_ptr() Desde el commit 07ec77a1d4e8 ("sched: permitir que la afinidad de la CPU de la tarea se restrinja en sistemas asimétricos"), la configuración y La limpieza de user_cpus_ptr se realiza en pi_lock para la arquitectura arm64. Sin embargo, dup_user_cpus_ptr() accede a user_cpus_ptr sin ninguna protección de bloqueo. Dado que sched_setaffinity() puede invocarse desde otro proceso, el proceso que se está modificando puede estar pasando por fork() al mismo tiempo. Cuando se corre con la limpieza de user_cpus_ptr en __set_cpus_allowed_ptr_locked(), puede llevar a una liberación posterior del usuario y posiblemente a una liberación doble en el kernel arm64. El commit 8f9ea86fdf99 ("programación: conservar siempre la máscara de CPU solicitada por el usuario") soluciona este problema ya que user_cpus_ptr, una vez configurado, nunca se borrará durante la vida de una tarea. Sin embargo, este error se reintrodujo en el commit 851a723e45d1 ("sched: borrar siempre user_cpus_ptr en do_set_cpus_allowed()") que permite borrar user_cpus_ptr en do_set_cpus_allowed(). Esta vez afectará a todos los arcos. Corrija este error borrando siempre el user_cpus_ptr de la tarea recién clonada/bifurcada antes de que comience el proceso de copia y verifique el estado de user_cpus_ptr de la tarea fuente en pi_lock. Nota para las versiones estables: este parche no se aplicará a las versiones estables. Simplemente copie la nueva función dup_user_cpus_ptr().
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15 (incluyendo) | 5.15.89 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.7 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página