В Linux XFS имеется «race condition» десятилетней давности, что позволяет получить полный «root access»

Linux Xfs уязвимость Root ядро Reflink csoonline.com

Узнайте об опасной уязвимости RefluXFS в Linux: состояние гонки в XFS с reflink даёт непривилегированным пользователям полный root-доступ. Патч уже выпущен — срочно обновите ядро и перезагрузите системы. Подробности о версиях и способах защиты.

Linux-системы, использующие файловую систему XFS, страдают от состояния гонки, которое может позволить непривилегированному локальному пользователю получить полный root-доступ.

Уязвимость затрагивает системы с ядром Linux версии 4.11 и новее, в которых включена функция XFS reflink, позволяющая создавать копии файла без фактического копирования его данных.

По данным Qualys Threat Research Unit (TRU), существовал способ обойти защиту записи файлов, на которую опирается reflink. Этот обход присутствовал в версиях ядра с 2017 года, пока на прошлой неделе не был опубликован патч.

«Используя эту уязвимость, процесс, работающий от имени обычного непривилегированного пользователя, может задействовать ошибку и получить возможность перезаписывать любой читаемый файл на томе XFS на уровне блоков», — сообщил Саид Аббаси, руководитель Qualys TRU, в блоге, посвящённом этой уязвимости, которую он называет RefluXFS. «Эксплуатация очень надёжна и не оставляет записей в журнале ядра».

Qualys оценила, что проблема затрагивает более 16,4 миллиона систем, в основном корпоративные развёртывания Linux, где XFS с reflink включена по умолчанию.

Победитель гонки получает root в ошибочной файловой операции

Уязвимость, отслеживаемая как CVE-2026-64600, возникла из-за того, как XFS обрабатывает операции копирования при записи для reflink-файлов. Обычно, когда два файла совместно используют один и тот же блок хранения (как в случае исходного файла и клона reflink), XFS выделяет новый блок хранения перед любым изменением данных, так что исходный файл остаётся неизменным.

Однако состояние гонки возникает, когда инициируются две одновременные записи в reflink-файл, путая файловую систему и заставляя её изменять исходный файл. «Изменение производится непосредственно на диске, сохраняется после перезагрузок и не создаёт записей в журнале ядра», — сообщили в Qualys в предупреждении.

Проблема эксплуатируется при наличии Linux 4.11+, XFS с включённым reflink и общей структуры файловой системы. Ей присвоен высокий уровень серьёзности CVSS 7,8 из 10, поскольку для эксплуатации требуется только доступ на чтение к целевому файлу перед созданием клона reflink в доступном для записи каталоге той же файловой системы XFS.

Дистрибутивы Linux, подверженные RefluXFS

Уязвимость присутствовала во всех основных и стабильных версиях ядра Linux со времени выпуска версии 4.11 в 2017 году и не требует специальных привилегий или нестандартных конфигураций, сообщили в Qualys.

Затронутые дистрибутивы Linux включают RHEL 8, 9 и 10, CentOS Stream 8, 9 и 10, Oracle Linux 8, 9, 10, Rocky и AlmaLinux 8, 9 и 10, CloudLinux 8, 9 и 10, Amazon Linux 2023 и Amazon Linux 2 AMI начиная с декабря 2022 года, Fedora Server 31+, а также установки Debian, Ubuntu и SUSE, где XFS была выбрана вручную.

Обычные методы усиления защиты ядра, включая защиту памяти, такие как рандомизация адресного пространства ядра (KASLR), предотвращение доступа в режиме супервизора (SMAP) и предотвращение выполнения в режиме супервизора (SMEP), неэффективны, поскольку все они нацелены на другие поверхности атаки. Даже блокировка ядра не останавливает затронутый путь, отметили в Qualys.

«SELinux не блокирует затронутый путь при тестировании, а профили seccomp не являются преградой, пока они разрешают write и ioctl, что делают обычные профили», — объяснил Аббаси. Немедленное применение патча к ядру и полная перезагрузка — единственные надёжные меры защиты, добавил он.

Исправление было внесено в основное дерево исходных кодов ядра Linux 16 июля как коммит «2f4acd0», после чего дистрибутивы Linux начали переносить патч в свои поддерживаемые версии ядра.

Организации, использующие подверженные угрозе развёртывания XFS, должны установить последние обновления ядра от своего вендора Linux и перезагрузить затронутые системы, как только исправленные ядра станут доступны.

Эта статья впервые появилась на Network World.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: