Важной новостью прошлой недели стало обнародование данных об опасной уязвимости в ядре Linux, получившей название Copy Fail (мини-сайт, новость на Хабре), которая открывает относительно простой способ локального повышения привилегий. Авторы оригинального исследования не стесняются рекламировать ИИ-ассистент для анализа кодовой базы, который нашел данную проблему в течение часа. Исследователи «Лаборатории Касперского» провели анализ уязвимости и предложили варианты обнаружения атак с ее использованием.

Уязвимость получила идентификатор CVE-2026-31431 и рейтинг 7,8 балла по шкале CVSS. Ошибка была внесена в код модуля ядра algif_aead еще в 2017 году: тогда была внедрена поддержка оптимизаций in-place при работе системы шифрования AEAD. Это, в свою очередь, привело к дефекту обработки буферов, что дало потенциальному атакующему возможность контролируемо изменять содержимое кэша любого файла, доступного для чтения.

Опубликованный первооткрывателями эксплойт записывает четыре контролируемых байта в кэш исполняемого файла. То есть код программы изменяется непосредственно в оперативной памяти, и при следующем запуске она выполняет вредоносные действия с правами суперпользователя. Уязвимость имеет две ключевые особенности: с одной стороны, эксплуатировать ее крайне просто, с другой — для повышения привилегий требуется локальный доступ к системе. Соответственно, особую важность новая уязвимость имеет для контейнерных сред. Так, по умолчанию технологии Docker, LXC и Kubernetes предоставляют процессам внутри контейнера доступ к уязвимой подсистеме AF_ALG, если упомянутый ранее модуль algif_aead загружен в ядре хоста. В этом случае Copy Fail делает возможным побег из виртуального окружения.

Специалисты «Лаборатории Касперского» приводят варианты обнаружения деятельности оригинального эксплойта на Python. Характерным признаком его работы является цепочка процессов Python — Shell — и далее запуск привилегированного исполняемого файла. В принципе, любой метод эксплуатации уязвимости может быть обнаружен через подозрительные операции чтения бинарных файлов с suid-битом, таких как su, sudo, newgrp, passwd, gpasswd, chfn, mount, umount, fusermount, fusermount3, chsh и подобные. Данные об уязвимости были переданы разработчикам ядра Linux еще в марте этого года, а патчи (по сути, устраняющие «оптимизацию» 2017 года) были выпущены 1 апреля. Если обновить ядро по каким-то причинам невозможно, рекомендуется заблокировать загрузку модуля algif_aead.

Что еще произошло

В двух новых публикациях эксперты «Лаборатории Касперского» изучают атаки группировки Silver Fox с использованием нового бэкдора ABCDoor на организации в России и Индии, а также разбирают метод использования сервиса Amazon SES для рассылки фишинговых сообщений.

Критическая уязвимость обнаружена в средстве управления серверами cPanel. Проблема получила идентификатор CVE-2026-41940 и близкий к максимальному рейтинг опасности 9,8 балла из 10 по шкале CVSS. Эксплуатируемая на момент обнаружения уязвимость позволяет обойти систему аутентификации и получить полный контроль над панелью управления.

Популярный плагин для WordPress, известный под именем Quick Page/Post Redirect (70 тысяч установок), много лет содержал бэкдор. В код плагина примерно в 2020–2021 годах был добавлен механизм обновления со стороннего ресурса, который позволял загружать и выполнять на сервере произвольный код.

Продолжаются инциденты с компрометацией популярных NPM-пакетов: были взломаны официальные репозитории SAP, пакеты Lightning и elementary-data.

Закрыта уязвимость в GitHub, позволявшая получить неправомерный доступ к приватным репозиториям.

Комментарии (2)


  1. akirsanov
    05.05.2026 04:14

    https://habr.com/ru/articles/1030428/

    Вы своей лабораторией тоже проглядели возможности Copy.Fail.
    Ваши рекомендации по детекту привязаны к конкретным публичным PoC, и не детектят выполнение в памяти, без какой либо модификации суид бинарников.
    Единственное полезное из вашей статьи,

    -a always,exit -F arch=b64 -S socket -F a0=38 -F auid>=1000 -F auid!=4294967295
    -a always,exit -F arch=b32 -S socket -F a0=38 -F auid>=1000 -F auid!=4294967295

    но это не сработает на повышении привелегий через www-data (uid=33, весьма типичный сценарий, nginx uid=101), так как вы прописали auid>=1000

    Как разработчики EDR могут проглядеть такое?


    1. akirsanov
      05.05.2026 04:14

      auid!=4294967295

      Все еще хуже, 4294967295 = 0xFFFFFFFF = loginuid не установлен, pam_loginuid устанавливает auid только при login (SSH, console, gdm).

      systemd сервисы, daemons, cron, контейнеры - все с auid=4294967295
      Правило auid!=4294967295 явно исключает все эти процессы.

      Ваши детекты работают только на PoC, запущенном из под логин сессии. Эффективность крайне низкая.