Исследователи из компании по безопасности прошивок Binarly REsearch обнаружили, что печально известный бэкдор в XZ Utils, выявленный в марте 2024 года, по-прежнему присутствует в десятках образов на платформе Docker Hub. Согласно отчету, предоставленному The Hacker News представителем компании Алексом Матросовым, первоначальное расследование было инициировано после обнаружения вредоносного кода в среде одного из клиентов, который был отслежен до образов, загруженных с Docker Hub.

В ходе анализа было выявлено 35 образов, содержащих вредоносный код. Среди них — 12 образов Debian Docker, в которые встроены уязвимые версии библиотеки XZ Utils. Данная находка свидетельствует о том, что даже после широкой огласки критической уязвимости зараженные артефакты могут оставаться незамеченными в официальных репозиториях.
Ключевая угроза заключается в так называемом «транзитивном заражении». Исследование показало существование образов «второго порядка», которые были созданы с использованием скомпрометированных образов Debian в качестве основы. Это приводит к цепной реакции, распространяя уязвимость по всей экосистеме контейнеризации и через конвейеры непрерывной интеграции (CI).
Изначальная уязвимость, получившая идентификатор CVE-2024-3094 и максимальный рейтинг критичности 10.0 по шкале CVSS, была обнаружена в конце марта 2024 года инженером Андресом Фройндом. Бэкдор затронул версии XZ Utils 5.6.0 и 5.6.1 — широко используемого пакета для сжатия данных.
За атакой стоял злоумышленник, известный под псевдонимом «Jia Tan» (JiaT75). Он потратил почти два года, внося вклад в открытый проект, чтобы завоевать доверие сообщества и получить права на его сопровождение. Специалисты Binarly охарактеризовали эту кампанию как «очень сложную операцию, спонсируемую государством, с впечатляющей изощренностью и многолетним планированием».
Целью бэкдора было получение несанкционированного удаленного доступа к скомпрометированным системам и выполнение произвольных команд. Основным вектором атаки был выбран сервис SSH.
Вредоносный код был внедрен в библиотеку
Технически бэкдор использовал механизм
Для успешной эксплуатации атакующему необходимо было обладать специальным закрытым ключом. С его помощью он мог обойти стандартные механизмы аутентификации и удаленно выполнять команды с правами суперпользователя (root) на зараженной машине.
Ключевым условием для успешной атаки является наличие сетевого доступа к скомпрометированному устройству в момент, когда на нем запущен сервис SSH. Наличие общедоступных образов Docker с таким бэкдором представляет собой серьезную угрозу безопасности.
Этот инцидент демонстрирует, как даже кратковременно существовавший вредоносный код может иметь долгосрочные последствия, распространяясь через зависимости в сложных экосистемах, таких как Docker. Обычное отслеживание версий пакетов оказывается недостаточным для выявления подобных скрытых угроз.
Произошедшее подчеркивает «критическую необходимость в непрерывном мониторинге на бинарном уровне». Такой подход позволяет обнаруживать аномалии и вредоносные вставки непосредственно в скомпилированном коде, обеспечивая более глубокий уровень защиты цепочки поставок программного обеспечения.

Изображение носит иллюстративный характер
В ходе анализа было выявлено 35 образов, содержащих вредоносный код. Среди них — 12 образов Debian Docker, в которые встроены уязвимые версии библиотеки XZ Utils. Данная находка свидетельствует о том, что даже после широкой огласки критической уязвимости зараженные артефакты могут оставаться незамеченными в официальных репозиториях.
Ключевая угроза заключается в так называемом «транзитивном заражении». Исследование показало существование образов «второго порядка», которые были созданы с использованием скомпрометированных образов Debian в качестве основы. Это приводит к цепной реакции, распространяя уязвимость по всей экосистеме контейнеризации и через конвейеры непрерывной интеграции (CI).
Изначальная уязвимость, получившая идентификатор CVE-2024-3094 и максимальный рейтинг критичности 10.0 по шкале CVSS, была обнаружена в конце марта 2024 года инженером Андресом Фройндом. Бэкдор затронул версии XZ Utils 5.6.0 и 5.6.1 — широко используемого пакета для сжатия данных.
За атакой стоял злоумышленник, известный под псевдонимом «Jia Tan» (JiaT75). Он потратил почти два года, внося вклад в открытый проект, чтобы завоевать доверие сообщества и получить права на его сопровождение. Специалисты Binarly охарактеризовали эту кампанию как «очень сложную операцию, спонсируемую государством, с впечатляющей изощренностью и многолетним планированием».
Целью бэкдора было получение несанкционированного удаленного доступа к скомпрометированным системам и выполнение произвольных команд. Основным вектором атаки был выбран сервис SSH.
Вредоносный код был внедрен в библиотеку
liblzma.so
, которая является зависимостью для сервера OpenSSH на многих дистрибутивах Linux. Это позволяло злоумышленнику перехватывать процесс аутентификации. Технически бэкдор использовал механизм
IFUNC
из системной библиотеки glibc для перехвата вызова функции RSA_public_decrypt
. Данный перехват активировался при определенных условиях во время обмена ключами SSH. Для успешной эксплуатации атакующему необходимо было обладать специальным закрытым ключом. С его помощью он мог обойти стандартные механизмы аутентификации и удаленно выполнять команды с правами суперпользователя (root) на зараженной машине.
Ключевым условием для успешной атаки является наличие сетевого доступа к скомпрометированному устройству в момент, когда на нем запущен сервис SSH. Наличие общедоступных образов Docker с таким бэкдором представляет собой серьезную угрозу безопасности.
Этот инцидент демонстрирует, как даже кратковременно существовавший вредоносный код может иметь долгосрочные последствия, распространяясь через зависимости в сложных экосистемах, таких как Docker. Обычное отслеживание версий пакетов оказывается недостаточным для выявления подобных скрытых угроз.
Произошедшее подчеркивает «критическую необходимость в непрерывном мониторинге на бинарном уровне». Такой подход позволяет обнаруживать аномалии и вредоносные вставки непосредственно в скомпилированном коде, обеспечивая более глубокий уровень защиты цепочки поставок программного обеспечения.