Katalog CVE

CVE-2026-80718

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.12%

Percentyl 2 - wyżej niż 2% wszystkich znanych CVE

Streszczenie

W jądrze Linux naprawiono podatność w mm/percpu-km, która powodowała przepełnienie bitmapy i błędy w księgowaniu w funkcji pcpu_create_chunk(). W pcpu_create_chunk(), nr_pages to całkowita ciągła alokacja zapasowa, czyli nr_units * pcpu_unit_pages, ale pcpu_chunk_populated() używa jej do ustawienia chunk->populated, którego rozmiar bitmapy to pcpu_unit_pages. Ponieważ bit N w chunk->populated oznacza, że offset strony N wewnątrz każdej jednostki jest wspierany, gdy nr_units > 1, funkcja zapisuje poza chunk->populated. Poprawka używa chunk->nr_pages. Naprawia to również globalne księgowanie pcpu_nr_empty_pop_pages, ponieważ pcpu_balance_free() iteruje tylko do chunk->nr_pages. Problem został wprowadzony przez commit a63d4ac4ab609, a później commit b539b87fed37f dodał pcpu_nr_empty_pop_pages i spowodował problem księgowania.

Ocena ryzyka

Przepełnienie bitmapy może prowadzić do uszkodzenia pamięci, a błędy księgowania mogą powodować nieprawidłowe zarządzanie pamięcią, co może prowadzić do awarii systemu lub potencjalnego wykorzystania podatności.

Rekomendacja

Zastosuj aktualizację jądra Linux zawierającą tę poprawkę. Monitoruj użycie pamięci percpu pod kątem anomalii.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: mm/percpu-km: fix bitmap overflow and accounting in pcpu_create_chunk() In pcpu_create_chunk(), nr_pages is the total contiguous backing allocation, i.e., nr_units * pcpu_unit_pages, but pcpu_chunk_populated() uses it to set chunk->populated, whose size is pcpu_unit_pages, bitmap. Since bit N in chunk->populated means page offset N inside every unit is backed. When nr_units > 1, the function writes beyond chunk->populated. Fix it by using chunk->nr_pages. It also fixes the global pcpu_nr_empty_pop_pages accounting, since pcpu_balance_free() only iterates up to chunk->nr_pages. Commit a63d4ac4ab609 ("percpu: make percpu-km set chunk->populated bitmap properly") introduced the bitmap overflow issue. Later, commit b539b87fed37f ("percpu: implmeent pcpu_nr_empty_pop_pages and chunk->nr_populated") added pcpu_nr_empty_pop_pages and caused the accounting issue.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS