Исследователи раскрыли детали уязвимости повышения привилегий в Linux, которая позволяет локальному пользователю без прав администратора получить root-доступ.
Уязвимость получила идентификатор CVE-2026-31431 (оценка CVSS 7.8) и название Copy Fail. Она была обнаружена компаниями Xint.io и Theori.
Проблема затрагивает большинство популярных дистрибутивов Linux, выпущенных с 2017 года, включая Amazon Linux, RHEL, SUSE и Ubuntu.
Суть уязвимости
Ошибка связана с логикой в криптографическом компоненте ядра Linux (authencesn).
Она позволяет непривилегированному пользователю записать контролируемые данные в page cache любого доступного для чтения файла.
Фактически злоумышленник может изменить содержимое setuid-бинарника и получить root-доступ без необходимости записи на диск или использования гонок.
Уязвимость эксплуатируется через комбинацию механизмов AF_ALG и splice().
Эксплуатация
Для эксплуатации достаточно небольшого скрипта на Python размером около 732 байт.
Атака включает несколько шагов и не требует сложных условий или специфичных настроек системы.
Минимальный пример кода эксплойта:
# упрощённый пример концепции
import socket
import os
# создание AF_ALG сокета
s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0)
s.bind(('aead', 'authencesn'))
# дальнейшие шаги включают использование splice()
# и манипуляции с page cache для изменения setuid-бинарникаПолный PoC использует стандартные библиотеки Python и не требует дополнительных зависимостей.
Масштаб проблемы
Уязвимость считается универсальной и воспроизводится на большинстве современных систем Linux без модификации эксплойта.
Она не требует гонок, специальных смещений ядра или сложной настройки окружения.
По оценкам исследователей, такие уязвимости обычно имеют высокую ценность на рынке эксплойтов из-за своей надежности и широты охвата.
Исправления
Разработчики уже начали выпуск обновлений для устранения проблемы. До установки патчей рекомендуется ограничить доступ к уязвимому функционалу или отключить соответствующие модули ядра.
Источник: cybernews