CVE-2026-98116 in LinuxИнформация

Сводка

по VulDB • 25.09.2026

В ядре Linux была устранена следующая уязвимость:

ALSA: pcm — сериализация mmap PCM совместно с перераспределением буфера для устранения use-after-free на уровне страниц (page UAF)

Функции snd_pcm_hw_params() и snd_pcm_hw_free() защищают перераспределение буфера проверкой mmap_count, выполняемой под блокировкой потока PCM. Однако эта блокировка освобождается задолго до фактического освобождения буфера: между ними происходят вызовы snd_pcm_sync_stop(), уточнение ограничений (constraint refinement) и do_free_pages(). С другой стороны, функция snd_pcm_mmap_data() вообще не использует никаких блокировок: она проверяет состояние старого буфера и параметр dma_bytes, отображает его страницы в VMA (виртуальное адресное пространство), и только затем увеличивает mmap_count.

Следовательно, параллельный вызов mmap() может произойти между проверкой и освобождением памяти. Функция remap_pfn_range() устанавливает записываемые PTE для страниц старого буфера без захвата ссылок на страницы (page references), а последующий вызов do_free_pages() возвращает эти страницы в аллокатор страниц, хотя VMA всё ещё отображает их. Это приводит к появлению устаревшего записываемого отображения освобождённых страниц — use-after-free на уровне страниц, который может быть использован для локального повышения привилегий.

Чтобы устранить проблему, функция snd_pcm_mmap_data() включена в схему доступа к буферу, внедрённую для hw_params/hw_free: она захватывает runtime->buffer_accessing перед проверкой и отображением (remapping) и освобождает его после завершения. Перераспределение буфера уже завершается с ошибкой -EBUSY при активном доступе, а сторона mmap теперь также возвращает ошибку -EBUSY во время выполнения перераспределения, поэтому последовательность проверки/отображения и последовательность проверки/освобождения больше не могут происходить параллельно.

Программный код (reproducer), демонстрирующий превращение этой гонки в устаревшее записываемое отображение освобождённых страниц DMA-буфера, предоставляется по запросу.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Ответственный

Linux

Резервировать

25.09.2026

Раскрытие

25.09.2026

Модерация

принято

Вход

VDB-409950

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!