CVE-2026-31528

In the Linux kernel, the following vulnerability has been resolved: perf: Make sure to use pmu_ctx->pmu for groups Oliver reported that x86_pmu_del() ended up doing an out-of-bound memory access when group_sched_in() fails and needs to roll back. This *should* be handled by the transaction callbacks, but he found that when the group leader is a software event, the transaction handlers of the wrong PMU are used. Despite the move_group case in perf_event_open() and group_sched_in() using pmu_ctx->pmu. Turns out, inherit uses event->pmu to clone the events, effectively undoing the move_group case for all inherited contexts. Fix this by also making inherit use pmu_ctx->pmu, ensuring all inherited counters end up in the same pmu context. Similarly, __perf_event_read() should use equally use pmu_ctx->pmu for the group case.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*

History

11 Nov 2026, 23:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: perf: Asegurarse de usar pmu_ctx -> pmu para grupos Oliver informó que x86_pmu_del() terminó realizando un acceso a memoria fuera de límites cuando group_sched_in() falla y necesita revertir. Esto debería ser manejado por las retrollamadas de transacción, pero él encontró que cuando el líder del grupo es un evento de software, se utilizan los manejadores de transacción de la PMU incorrecta. A pesar de que el caso move_group en perf_event_open() y group_sched_in() usan pmu_ctx -> pmu. Resulta que inherit usa event -> pmu para clonar los eventos, deshaciendo efectivamente el caso move_group para todos los contextos heredados. Solucione esto haciendo también que inherit use pmu_ctx -> pmu, asegurando que todos los contadores heredados terminen en el mismo contexto pmu. De manera similar, __perf_event_read() debería usar igualmente pmu_ctx -> pmu para el caso de grupo.

19 Oct 2026, 19:17

Type Values Removed Values Added
CWE CWE-787

Information

Published : 2026-04-22 14:16

Updated : 2026-11-11 23:10


NVD link : CVE-2026-31528

Mitre link : CVE-2026-31528

CVE.ORG link : CVE-2026-31528


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-125

Out-of-bounds Read

CWE-787

Out-of-bounds Write