Vulnerabilidad en kernel de Linux (CVE-2022-49164)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/02/2025
Última modificación:
23/09/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: powerpc/tm: Fix more userspace r13 democracy Commit cf13435b730a ("powerpc/tm: Fix userspace r13 democracy") corrige un problema en treclaim donde puede ocurrir un error de SLB en thread_struct->ckpt_regs mientras SCRATCH0 está activo con el valor r13 del usuario guardado, golpeándolo con el r13 del kernel y, en última instancia, resultando en que el r13 del kernel se almacene en ckpt_regs. Hay un problema equivalente en trechkpt donde el valor r13 del usuario se carga en r13 desde chkpt_regs para volver a establecer un punto de control, pero podría ocurrir un error de SLB en los accesos a ckpt_regs después de eso, lo que resultará en que r13 se golpee con un valor del kernel y que se vuelva a establecer un punto de control y luego se restaure a los registros del usuario. Se accede a la misma página de memoria justo antes de esta ventana crítica donde un error de SLB podría causar corrupción, por lo que encontrar el error requiere que la entrada de SLB se elimine dentro de una pequeña ventana de instrucciones, lo que es posible si un MCE relacionado con SLB llega allí. PAPR también permite que el hipervisor descarte esta entrada de SLB (porque slb_shadow->persistent solo está configurado en SLB_NUM_BOLTED) aunque no se sabe si alguna implementación haría esto (KVM no lo hace). Por lo tanto, este es un error extremadamente improbable, que solo se encuentra por inspección. Arregle esto almacenando también el usuario r13 en una ubicación temporal en la pila del kernel y no cambie el registro r13 del kernel r13 hasta la sección crítica RI=0 que no falla. El cambio SCRATCH0 no es estrictamente parte de la solución, solo se usa en la sección RI=0, por lo que no tiene el mismo problema que el error SCRATCH0 anterior.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.9 (incluyendo) | 5.15.54 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 5.17.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



