Разработчики основанного на алгоритмах искусственного интеллекта средства безопасности Xint Code обнаружили в ядре Linux и, соответственно, в большинстве популярных дистрибутивов опасную уязвимость, которая получила название Copy Fail и номер CVE-2026-31431. Эксплуатируя эту уязвимость, любой пользователь без особых привилегий может получить права администратора (root) практически на любом сервере или ПК под управлением Linux. Для этого достаточно кода размером всего 732 байта на Python.

Обзор Apple MacBook Neo: удивительно хороший ноутбук с процессором от iPhone

Обзор Ryzen 7 9850X3D: три процента за двадцать баксов

Гид по выбору OLED-монитора в 2026 году: эволюция в деталях

От Ryzen 7 1800X до Ryzen 7 9850X3D: девять лет эволюции AMD в одном тесте

Обзор Samsung Galaxy Z TriFold: тройной складной смартфон по цене квартиры в Воркуте

Компьютер месяца, спецвыпуск: эпоха отката, или Как дефицит чипов памяти влияет на выбор железа для игрового ПК

Можно ли экономить на DDR5 для Ryzen? Сравниваем дешёвую память с дорогой

Обзор ноутбука HONOR MagicBook X16 2026: как раньше, только лучше

Ryzen и 16 Гбайт DDR5: как сэкономить на памяти так, чтобы не лишиться 15 % производительности

Уязвимость Copy Fail связана с тем, как Linux работает с файлами — ОС не считывает данные жёсткого или твердотельного диска при каждом обращении к файлу, а записывает его содержимое в особую область оперативной памяти — страничный кеш (Page Cache), который разбивается на фрагменты (страницы) размером по 4 кбайт. Этот кеш является общим для всей системы — даже если речь идёт о процессах внутри контейнеров Docker на серверах, обращение идёт к одному и тому же кешу. Для эксплуатации уязвимости используется программа su (Switch User или Substitute User), которая позволяет обычному пользователю получить права администратора, введя его пароль, поэтому она является излюбленной целью для хакеров.
Скрипт, который требует наличия в системе Python 3.10 и более поздних версий и имеет размер всего 732 байта, позволяет изменить всего четыре байта внутри программы su или любой другой, причём обращение он производит не к соответствующему файлу на диске, а к её копии в страничном кеше оперативной памяти — и её выполнение производится с правами root. Это оказалось возможным за счёт трёх особенностей Linux: интерфейса AF_ALG, который позволяет обращаться к криптографическим алгоритмам в ядре Linux; функции splice(), которая позволяет производить обращение к ядру ОС из страничного кеша любого файла, если пользователь имеет право хотя бы читать этот файл; а также алгоритма authencesn в системе защищённых сетевых соединений IPsec, который во время работы использует часть выделенной ему памяти в качестве «черновика» и как раз записывает вышеупомянутые четыре байта прямо в страницы кеша su. Сам файл данной программы на диске остаётся нетронутым, поэтому средства защиты этого изменения не замечают.
Опасность предложенной схемы в том, что она не требует особых условий и срабатывает с первого раза; один актуальный для всех дистрибутивов скрипт действует скрытно и остаётся незамеченным; наконец, атакующий имеет возможность выйти за пределы контейнеров Docker или Kubernetes на уровень сервера. Чтобы устранить эту уязвимость, выявившие её специалисты разработали патч, отменяющий одну из оптимизаций Linux, выпущенную ещё в 2017 году. При его установке фрагменты страничного кеша перестают попадать в область памяти, доступную для записи. Администраторам систем под Linux рекомендуется оперативно обновить ядро системы до последней доступной версии; в качестве временного решения можно также отключить опасный модуль algif_aead в интерфейсе AF_ALG.

Добавить комментарий