CVE-2026-23380

NONE EPSS 0.02%
Обновлено 25 марта 2026
Linux
Параметр Значение
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: трассировка: исправление WARN_ON в tracing_buffers_mmap_close. Когда процесс разветвляется, дочерний процесс копирует VMA родительского процесса, но Счетчик ссылок user_mapped не увеличивается. В результате, когда оба родительский и дочерний процессы завершаются, вызывается tracing_buffers_mmap_close() дважды.

При втором вызове user_mapped уже равен 0, в результате чего функция верните -ENODEV и вызовите WARN_ON. Обычно это не проблема, поскольку память отображается с установленным значением VM_DONTCOPY. Но это только подсказка, и приложение может вызвать madvise(MADVISE_DOFORK), который сбрасывает флаг VM_DONTCOPY.

Когда приложение делает это, это может вызвать эту проблему в ответвлении. Исправьте это, увеличив счетчик ссылок user_mapped без повторного сопоставления. страницы в открытом обратном вызове VMA.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: tracing: Fix WARN_ON in tracing_buffers_mmap_close When a process forks, the child process copies the parent's VMAs but the user_mapped reference count is not incremented. As a result, when both the parent and child processes exit, tracing_buffers_mmap_close() is called twice. On the second call, user_mapped is already 0, causing the function to return -ENODEV and triggering a WARN_ON. Normally, this isn't an issue as the memory is mapped with VM_DONTCOPY set. But this is only a hint, and the application can call madvise(MADVISE_DOFORK) which resets the VM_DONTCOPY flag. When the application does that, it can trigger this issue on fork. Fix it by incrementing the user_mapped reference count without re-mapping the pages in the VMA's open callback.