Исследователи описали четыре уязвимости в ядре Linux, которые позволяют повысить привилегии, несмотря на отсутствие у пользователя прав на запись в системные файлы. Эти ошибки затрагивают криптографию и обработку сетевых пакетов, а их общая причина заключается в неправильном обращении подсистем ядра с общими страницами памяти. В 2026 году были опубликованы публичные PoC для уязвимостей Copy Fail, Dirty Frag и pedit COW, демонстрирующие, как можно изменить данные в page cache без прямого доступа к файлу на диске.
Уязвимость Copy Fail (CVE-2026-31431) возникает в модуле authencesn при использовании интерфейса AF_ALG. Криптографическая подсистема передает ссылку на страницу памяти без копирования, а затем записывает служебные данные в выходной буфер, который ссылается на общую страницу page cache. Это позволяет изменить инструкции в кешированной версии setuid-программы, например, /usr/bin/su, что приводит к выполнению вредоносного кода при запуске с повышенными правами.
Dirty Frag (CVE-2026-43284 и CVE-2026-43500) эксплуатирует обработку сетевых пакетов ESP и RxRPC. Ядро расшифровывает данные прямо в памяти сетевых буферов, которые могут содержать ссылки на страницы файлового кеша. В одном из вариантов атаки ключ подбирается локально, чтобы при обработке пакета ядро записало нужные данные в файл /etc/passwd, изменяя запись учетной записи root.
Уязвимость pedit COW (CVE-2026-46331) связана с ошибкой расчета области для Copy-on-Write при редактировании пакетов. Ядро некорректно определяет границы защищаемой памяти, позволяя записи выйти за пределы выделенного буфера и затронуть общую страницу. Эксплойт использует user namespaces для создания изолированного процесса, который изменяет кешированную страницу, а родительский процесс запускает измененную программу уже в глобальном контексте.
Для защиты от этих уязвимостей необходимо установить исправленное ядро Linux, так как изменение прав доступа к файлам не устраняет причину ошибок. При обновлении важно проверять бюллетени безопасности поставщика, а не только версию ядра, и убедиться, что сервер перезагружен с новым ядром, чтобы уязвимый код перестал быть активным.