{"id":"CVE-2026-80670","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-80670","summary":"perf tools: Use perf_env__get_cpu_topology() in machine__resolve()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nperf tools: Use perf_env__get_cpu_topology() in machine__resolve()\n\nmachine__resolve() accesses env->cpu[al->cpu].socket_id after checking\nal->cpu >= 0 and env->cpu != NULL, but without validating al->cpu\nagainst env->nr_cpus_avail.  Since al->cpu comes from the untrusted\nperf.data sample, a crafted file with a large CPU index causes an\nout-of-bounds heap read.\n\nUse perf_env__get_cpu_topology() which validates both NULL and bounds.\nAlso bounds-check al->cpu before the cast to struct perf_cpu (int16_t):\nwithout this, values like 65536 silently truncate to 0, bypassing the\naccessor's internal check and returning CPU 0's topology.","published":"2026-08-28T06:49:11.120Z","modified":"2026-08-31T03:30:39.365021772Z","cvss":{"score":9.1,"severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"Linux","name":"Kernel","fixedVersion":"6.18.40"}],"fix":null,"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/5484b43a0ec8231c36fba6ead654cb72dbba8b8f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b9e8406651dcc1c19238aad11861a758683525b4"},{"type":"WEB","url":"https://git.kernel.org/stable/c/eb266a14c16a93eb4db7b56a452d6be93f8bdcd4"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80670.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-80670"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-31T03:30:39.365021772Z"}}