Description
In the Linux kernel, the following vulnerability has been resolved: perf tools: Use perf_env__get_cpu_topology() in machine__resolve() machine__resolve() accesses env->cpu[al->cpu].socket_id after checking al->cpu >= 0 and env->cpu != NULL, but without validating al->cpu against env->nr_cpus_avail. Since al->cpu comes from the untrusted perf.data sample, a crafted file with a large CPU index causes an out-of-bounds heap read. Use perf_env__get_cpu_topology() which validates both NULL and bounds. Also bounds-check al->cpu before the cast to struct perf_cpu (int16_t): without this, values like 65536 silently truncate to 0, bypassing the accessor-s internal check and returning CPU 0-s topology.
EPSS 0.17600000000000002%Risk 0
View source- Published
- 2026-08-28 08:16:52
- Affected versions
- unknown
- Type
- Kernel
- Last modified
- 2026-08-28 08:16:52
- Vector
- Pending