CVE-2026-23416

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

В ядре Linux устранена следующая уязвимость: mm/mseal: правильно обновлять конец VMA при слиянии Раньше мы сохраняли конец текущего VMA в curr_end, а затем итерация до следующего VMA обновила curr_start до curr_end для перехода к следующий ВМА. Однако при этом не учитывается тот факт, что VMA может быть обновлено из-за слияния с помощью vma_modify_flags(), что может привести к curr_end устарел и, таким образом, после установки curr_start в curr_end, в конечном итоге получается неправильный curr_start на следующей итерации. Решите проблему, установив для curr_end значение vma->vm_end без каких-либо условий. убедитесь, что это значение остается обновленным, если это произойдет.

Пока мы здесь, устраните весь этот класс ошибок, просто установив const curr_[start/end] будет привязан к входному диапазону и VMA, что бывает и для упрощения логики.

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

In the Linux kernel, the following vulnerability has been resolved: mm/mseal: update VMA end correctly on merge Previously we stored the end of the current VMA in curr_end, and then upon iterating to the next VMA updated curr_start to curr_end to advance to the next VMA. However, this doesn't take into account the fact that a VMA might be updated due to a merge by vma_modify_flags(), which can result in curr_end being stale and thus, upon setting curr_start to curr_end, ending up with an incorrect curr_start on the next iteration. Resolve the issue by setting curr_end to vma->vm_end unconditionally to ensure this value remains updated should this occur. While we're here, eliminate this entire class of bug by simply setting const curr_[start/end] to be clamped to the input range and VMAs, which also happens to simplify the logic.