Skip to content
CVE PROGRAM SOURCE RECORD9.1 Critical

CVE-2026-80670

perf tools: Use perf_env__get_cpu_topology() in machine__resolve()

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 0c4c4debb0adda4c18c158d95031dc2b9f637869 to < b9e8406651dcc1c19238aad11861a758683525b4affected
  • 0c4c4debb0adda4c18c158d95031dc2b9f637869 to < eb266a14c16a93eb4db7b56a452d6be93f8bdcd4affected
  • 0c4c4debb0adda4c18c158d95031dc2b9f637869 to < 5484b43a0ec8231c36fba6ead654cb72dbba8b8faffected

Linux Linux

Default version status: affected

  • 4.4affected
  • 0 to < 4.4unaffected
  • 6.18.40 to ≤ 6.18.*unaffected
  • 7.1.5 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References