Суть проблемы — состояние гонки в двух вспомогательных функциях ядра: xfs_reflink_fill_cow_hole и xfs_reflink_fill_delalloc . Когда эти функции циклически захватывают блокировку inode XFS (ILOCK) для выполнения транзакции, отображения (mappings) как для обычных данных (data fork), так и для данных CoW (CoW fork) могут устареть
. Хотя отображение CoW fork обновляется с помощью
xfs_find_trim_cow_extent, отображение data fork не обновляется перед следующей операцией записи . Эта недоработка позволяет конкурентной записи обойти механизм копирования при записи и напрямую изменить общие блоки данных, к которым у атакующего не должно быть доступа на запись
.
Злоумышленник, имеющий локальную непривилегированную учётную запись, может использовать эту уязвимость для перезаписи любого файла, который он может прочитать, включая защищённые системные файлы, такие как /etc/passwd, /etc/shadow или authorized_keys SSH. Атака работает даже в системах с включённым SELinux в режиме Enforcing . Критически важно, что изменения на диске сохраняются после перезагрузки системы
.
Уязвимость была внесена в ядро Linux версии 4.11 (февраль 2017 года) коммитом 3c68d44a2b49 и присутствует во всех основных и стабильных версиях ядра с тех пор . Для атаки требуется, чтобы целевая файловая система XFS имела включённую функцию reflink, которая является настройкой по умолчанию для
mkfs.xfs с 2019 года, то есть большинство современных томов XFS уязвимы .
Согласно данным Qualys и CERT-EU, следующие дистрибутивы были напрямую проверены и признаны уязвимыми :
Другие дистрибутивы, использующие ядра из уязвимого диапазона, также неявно уязвимы, включая Debian, Arch Linux, Rocky Linux, AlmaLinux и встраиваемые сборки Linux .
Единственным надёжным способом устранения уязвимости является немедленное обновление ядра. Каких-либо действенных обходных путей (workarounds) не существует — уязвимость не требует нестандартных настроек, не блокируется SELinux и не создаёт записей в логах ядра при эксплуатации . Единственной частичной мерой защиты до установки патча является ограничение прямого доступа на запись (direct-I/O) к файловым системам XFS на уязвимых системах
.
Патч для основного ядра Linux был объединён 16 июля 2026 года (коммит 2f4acd0: "xfs: resample the data fork mapping after cycling ILOCK") . Исправление обновляет отображение data fork путём его повторного запроса при изменении счётчика последовательности (sequence counter) в течение цикла ILOCK, что предотвращает использование устаревших отображений для следующей записи
.
Организациям, использующим уязвимые системы Linux, следует немедленно установить обновления безопасности от своего вендора и перезагрузить систему для активации исправленного ядра . Учитывая огромную базу уязвимых систем и высокую надёжность эксплуатации без специальных привилегий, эта уязвимость представляет критический риск для любых многопользовательских сред Linux, где у разных пользователей есть доступ к системе.