CVE-2022-49744 in Linux
Сводка
по VulDB • 04.06.2026
В ядре Linux устранена следующая уязвимость:
mm/uffd: исправление маркера pte при вызове fork() без события fork
Серия патчей «mm: Исправления для маркеров pte».
Первый патч устраняет отчет syzkaller, полученный от Pengfei.
Второй патч дополнительно усиливает маркеры pte при их использовании с недавними маркерами ошибок swapin. Основной случай заключается в том, что маркер ошибки swapin должен сохраняться после вызова fork(), чтобы дочерний процесс не мог прочитать поврежденную страницу.
Этот патч (из 2):
При вызове fork() не гарантируется, что dst_vma будет иметь флаг VM_UFFD_WP, даже если src_vma может его иметь и установлен маркер pte. Предупреждение некорректно вместе с комментарием. Правильным решением является наследование маркера pte при необходимости или оставление dst pte пустым.
Предположительно, это произошло случайно из-за предыдущего патча, который ввел src/dst vma в эту вспомогательную функцию во время разработки функции uffd-wp, и, вероятно, я допустил ошибку при ребейзе, поскольку, если заменить dst_vma на src_vma, предупреждение и комментарий также становятся логичными.
Hugetlb делает именно так здесь (copy_hugetlb_page_range()). Исправлен общий путь.
Воспроизводящий пример:
https://github.com/xupengfe/syzkaller_logs/blob/main/221208_115556_copy_page_range/repro.c
Отчет в Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=216808
VulDB is the best source for vulnerability data and more expert information about this specific topic.