CVE-2026-80670
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
W narzędziu perf w jądrze Linux funkcja machine__resolve() nie sprawdza poprawności indeksu CPU z niezaufanego pliku perf.data przed dostępem do tablicy env->cpu, co może prowadzić do odczytu poza zakresem sterty. Poprawka używa funkcji perf_env__get_cpu_topology() i dodaje sprawdzenie granic.
Ocena ryzyka
Podatność może pozwolić atakującemu na odczyt danych poza przydzieloną pamięcią, co może prowadzić do wycieku informacji lub awarii narzędzia perf.
Rekomendacja
Zaleca się aktualizację narzędzi perf do wersji zawierającej poprawkę. Należy unikać przetwarzania niezaufanych plików perf.data do czasu zastosowania poprawki.
Oryginalny opis (angielski, źródło NVD)
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.

