CVE-2026-31787
xen/privcmd: исправление двойного освобождения через разделение VMA
- Опубликовано
- 30 апр. 2026 г.
- Обновлено
- 14 июн. 2026 г.
- Назначение CNA
- Linux
- Наблюдены доказательства
- 4 сент. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HНизкий · следующие 30 дней
- Процентиль
- 8,2 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
В ядре Linux устранена следующая уязвимость: xen/privcmd: исправлено двойное освобождение памяти при разделении VMA privcmd_vm_ops определяет .close (privcmd_close), но не определяет ни .may_split, ни .open. Когда пользовательское пространство выполняет частичный munmap() на отображении privcmd, ядро разделяет VMA через __split_vma(). Поскольку may_split равен NULL, разделение разрешено. vm_area_dup() копирует vm_private_data (массив страниц, выделенный в alloc_empty_pages()) в новый VMA без каких-либо корректировок, поскольку отсутствует обратный вызов .open. Оба VMA теперь указывают на один и тот же массив страниц. Когда неотображённая часть закрывается, privcmd_close() вызывает: - xen_unmap_domain_gfn_range() - xen_free_unpopulated_pages() - kvfree(pages) Оставшийся VMA всё ещё содержит висячий указатель. Когда он позже уничтожается, та же последовательность выполняется снова, что приводит к двойному освобождению памяти. Исправьте эту проблему, добавив обратный вызов .may_split, запрещающий разделение VMA. Это XSA-487 / CVE-2026-31787
Источники
1- CVE-2026-31787Информационный
Двойное освобождение памяти в драйвере privcmd Xen в ядре Linux
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.