Vulnerabilidad en kernel de Linux (CVE-2022-50103)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125
Lectura fuera de límites
Fecha de publicación:
18/06/2025
Última modificación:
19/11/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: sched, cpuset: Se solucionó el pánico de dl_cpu_busy() debido a un valor de cs->cpus_allowed vacío. Con cgroup v2, la máscara cpus_allowed de cpuset puede estar vacía, lo que indica que solo usará las CPU efectivas de su padre. Por lo tanto, cpuset_can_attach() puede llamar a task_can_attach() con una máscara vacía. Esto puede provocar que cpumask_any_and() devuelva nr_cpu_ids, lo que provoca el bloqueo de la llamada a dl_bw_of() debido al acceso a un valor de CPU fuera de los límites. Por ejemplo: [80468.182258] ERROR: no se puede manejar el error de página para la dirección: ffffffff8b6648b0 : [80468.191019] RIP: 0010:dl_cpu_busy+0x30/0x2b0 : [80468.207946] Rastreo de llamadas: [80468.208947] cpuset_can_attach+0xa0/0x140 [80468.209953] cgroup_migrate_execute+0x8c/0x490 [80468.210931] cgroup_update_dfl_csses+0x254/0x270 [80468.211898] Solucione esto utilizando effective_cpus en su lugar. Para cgroup v1, effective_cpus es igual que cpus_allowed. Para v2, effective_cpus es la máscara de CPU real que usarán las tareas dentro del conjunto de CPU. Actualice también el segundo argumento de task_can_attach() a cs_effective_cpus para reflejar el cambio. Además, se ha añadido una comprobación a task_can_attach() para evitar que cpumask_any_and() devuelva un valor mayor que nr_cpu_ids.
Impacto
Puntuación base 3.x
7.10
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.19 (incluyendo) | 5.10.137 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.61 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 5.18.18 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.19 (incluyendo) | 5.19.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/147f66d22f58712dce7ccdd6a1f6cb3ee8042df4
- https://git.kernel.org/stable/c/336626564b58071b8980a4e6a31a8f5d92705d9b
- https://git.kernel.org/stable/c/357f3f0e522a6ce1ce4a571cb780d9861d53bec7
- https://git.kernel.org/stable/c/b6e8d40d43ae4dec00c8fea2593eeea3114b8f44
- https://git.kernel.org/stable/c/f56607b44c9896e51678a7e8cdd3a5479f4b4548



