Уязвимость Dirty Frag: злоумышленники начали эксплуатировать баг в Linux за девять дней до официального уведомления

information security

Специалисты по информационной безопасности столкнулись с необычной ситуацией: критическая уязвимость в ядре Linux, получившая обозначение CVE-2026-31431, активно использовалась в реальных атаках ещё до того, как информация о ней стала публичной. Исследователи компании ReversingLabs обнаружили как минимум 163 вредоносных образца, связанных с этой проблемой, причём первые из них появились в инфраструктуре злоумышленников 29 апреля 2026 года - за девять дней до того, как эмбарго на публикацию данных было нарушено.

Описание

Уязвимость Dirty Frag, которую также называют Copy Fail, относится к категории локального повышения привилегий. По своей сути она напоминает проблему Dirty Pipe (CVE-2022-0847), известную несколькими годами ранее. Обе эти уязвимости позволяют атакующему записывать данные в области памяти, доступные только для чтения, обходя стандартные механизмы контроля доступа. Разница в том, что Dirty Frag представляет собой новую вариацию подобной атаки на механизмы кэширования страниц в ядре операционной системы.

Первые тревожные сигналы появились ещё до официального объявления. ReversingLabs зафиксировали в своей базе данных образец, помеченный как вредоносный, уже 29 апреля. Однако настоящий взрыв активности произошёл в ночь на 1 мая: за один короткий промежуток времени система зарегистрировала более пятидесяти различных образцов эксплойта. Поток новых вариантов не прекращался вплоть до 8 мая, когда эталонная реализация от разработчика под псевдонимом V4bel была опубликована на GitHub. Именно тогда информация об уязвимости попала в прессу, а компания Ubuntu выпустила экстренные исправления.

Анализ собранных образцов показывает впечатляющее разнообразие. Среди 163 обнаруженных вариантов встречаются как стандартные исполняемые файлы в формате ELF (стандартный формат исполняемых файлов для Linux), так и скрипты на языке Python и даже вредоносный пакет в формате PyPI wheel. Профессионалы в области информационной безопасности обращают внимание на разделение этих образцов на две большие группы. Первая включает 148 файлов, которые отслеживаются по официальному обозначению CVE-2026-31431 и получили названия вроде Linux.Exploit.CVE-2026-31431, Linux.Exploit.CopyFail или Linux.Trojan.Multiverze. Вторая группа из 15 образцов происходит непосредственно из референсной реализации на GitHub и маркируется как Linux.Exploit.DirtyFrag и Linux.Trojan.DirtyFrag.

Технический анализ эталонного образца показывает, что атакующие используют хорошо известные приёмы написания shellcode (вредоносного кода, выполняющего команды). Вредоносная программа последовательно вызывает системные функции для изменения привилегий процесса. Сначала идёт установка идентификатора группы в значение root через системный вызов 106, затем аналогичная операция для пользователя через вызов 105, после чего очищаются дополнительные группы через вызов 116. Завершается цепочка запуском командной оболочки /bin/sh с установкой переменной окружения TERM=xterm, что обеспечивает полноценный интерактивный доступ к системе с максимальными привилегиями.

Интересно, что вредоносный код использует технику упаковки системных вызовов без нулевых байтов. Вместо того чтобы загружать полное 64-битное значение в регистр, авторы применяют короткую команду push 0x3b; pop rax для вызова execve. Это стандартная практика для создания переносимого позиционно-независимого кода, который может работать в разных условиях исполнения.

Для обнаружения заражённых систем исследователи подготовили YARA-правила, а также предоставили поисковые запросы для системы Spectra Intelligence. Особое внимание эксперты рекомендуют обратить на комбинацию опкодов (машинных инструкций) и текстовых строк /bin/sh и TERM=xterm, которые вместе образуют надёжный индикатор компрометации.

Самое тревожное в этой истории - временной разрыв. Вредоносные образцы циркулировали в инфраструктуре злоумышленников практически полторы недели до того, как разработчики и администраторы получили возможность защититься. За это время атакующие могли скомпрометировать значительное количество систем, используя преимущество внезапности. Ситуация осложняется тем, что эксплойт затрагивает все основные дистрибутивы Linux, а значит, под ударом оказались серверы, рабочие станции и облачные инстансы по всему миру.

Специалисты ReversingLabs подчёркивают, что для полного покрытия необходимо использовать все четыре поисковых запроса одновременно. Только такой подход позволяет обнаружить как образцы, отслеживаемые по официальному CVE-идентификатору, так и варианты, происходящие из референсной реализации и троянские модификации семейства Multiverze. Особого внимания заслуживает тот факт, что вредоносные программы на Python и скомпрометированные пакеты PyPI не могут быть обнаружены классическими YARA-правилами, основанными на сигнатурах машинного кода. Для них необходимы текстовые шаблоны обнаружения.

Текущая ситуация напоминает администраторам и специалистам по безопасности о важности оперативного обновления систем. Несмотря на то что исправления от Ubuntu уже выпущены, значительное количество серверов может оставаться уязвимым, особенно если злоумышленники уже успели закрепиться в системе до установки патча. Обнаружение вредоносных образцов в период до официального уведомления подтверждает давнюю аксиому: как только информация об уязвимости становится известна ограниченному кругу лиц, она практически сразу попадает в руки злоумышленников.

Индикаторы компрометации

SHA256

  • 133a79e9094c14c0f41378c712fd9a3f7687e5ab6f781bd5fb94774e64f4b48d
  • 1507e6e6945bfdf652ef7ed2fe10e01245074fd54d29d8eca98f265a91c88e63
  • 26865ea1744e00664a13b1a65f2e670def8d3bb84b10533f18f2e0ac43548fe0
  • 26a75e5ef8d30ae678596fafe56e1f191d17fd9a438c463cd7dcefb765c2fb94
  • 381755b623dd7a4c2b5d80aaf40d7083eea727dd1f473545539029656ca81817
  • 3c5ec61632d0699e048d8428461c4d65f89988a370396db2f070f63ebbf9dbae
  • 424d306e8cba73ce83af5faf051a169d957a10213509d7132b620f427b4159bb
  • 48c0bb0760a08a70fa6cf96c0102c968cb1bc62d319cba0a605247be1e2e4180
  • 5bd7df1c89cf9f69e6003d73a8e3b9eab9cf6025e6911f0fec0451da1673d6f0
  • 76ad71ac3cf6d50bf4038048b9832df5e9aa63b85865c02ad1dd91cb2fdaef4b
  • 7bd2a8093d38e2694199490642e91965bdc666121070330c76ae155b6581ce75
  • 912714027c9ea12b8aac55d71ccfa4a0592e058a4d07cf578e67f4bfdab63c4a
  • a02ea2ba8108a9b7a997faa8808cfc55bb69af54e69178fa5aa1785681cf0ced
  • a567d09b15f6e4440e70c9f2aa8edec8ed59f53301952df05c719aa3911687f9
  • affde15382361e2fb87a7d32a5260ab72cc5d2d734fd7de6d21a1c94d0f58d22
  • b090751120d4814744c24253a820a67db5c3b2957c0334cf7d52e7847d6af409
  • bd855eb0a90c8cb6618662c48cc93d3a16cf9a7e4d945b70e3be3500f60042f9
  • c60c5527e49c3bb502b672b7fffc3eb5b8c6ff9d4e30eae5d559b54d2ce03a01
  • c935a349a974ef605b5a12141934d966315c0da5fe2343750815927a39f92881
  • d401e7d1c00605749d6c617ace73ab20a762b72e41c2e1590331596e38219a61
  • d658fd3b2fe203180e6a3ef6863a5eb3cdd92cfecbaa68de5b8f550702762eab
  • d99c480661fde92c3c7d1790c2e1d695fd72f4b82d47adb6e10093fd096c0708
  • e7fb35c16fbe6285d4f36764fe5f6f81b0ff51c047f5716bbb8ae60b8318d82e
  • ea21dbc2c11ee666cb9e2b4d2cd1e6a4776b3ea6bff6d57f80a6cf31624791e9
  • ee2d150a2f73a561983088a6b1a6a2b1c452777aaf03181387708c6907ac6dcd

YARA

Комментарии: 0