
В сегодняшнюю подборку собрали самое важное из мира безопасности за последнюю неделю. Docker Hub уже исправил критический баг, Drupal выпустил патчи и ожидает эксплоитов, в Brotli нашли дыру, затронувшую Node.js и Python, GitLab столкнулся с критическим RCE в Ruby, а сеть Tor пережила атаку с перехватом SSH-паролей.
Две критические уязвимости мы разобрали отдельно: критическую историю с PHP2Shell — недавно вышли экстренные патчи, и инцидент с VMmanager — вендор закрыл уязвимость, а мы опубликовали постмортем.
Ниже рассмотрим, как всё было и что нужно делать сейчас.
Docker Hub: баг незаметно жил в коде два года
Компания Docker закрыла опасную уязвимость (CVE-2026-105445) в реестре Docker Hub, которая получила неофициальное имя GhostPat (9,4 балла по шкале CVSS). На протяжении более чем двух лет этот дефект позволял злоумышленникам маскироваться под других людей и получать контроль над их контейнерными репозиториями.
Причиной стала ошибка в процессе смены статуса аккаунта. Когда пользователь переводил свой профиль в разряд организации, платформа без лишних вопросов отправляла его токены доступа (PAT) тому, кого назначали новым владельцем. При этом сами секретные данные не обновлялись, а согласие человека никто не запрашивал. Этим и пользовались атакующие: они регистрировали свой профиль, генерировали токен, создавали организацию и делали её главой случайную жертву. В итоге чужой ключ привязывался к аккаунту пострадавшего, открывая доступ к его файлам.
Специалисты Docker провели масштабный аудит (включая проверку 304 тысяч загрузок) и заявили, что следов реального взлома не обнаружено.
Главный потенциальный риск заключался в том, что злоумышленник мог выложить заражённый образ, выдав его за официальный релиз. Именно из-за угрозы для цепочки поставок баг признали критическим. При этом дыра не позволяла перехватить управление веб-интерфейсом, изменить пароли или обойти двухфакторную аутентификацию.
В начале октября администрация сервиса оповестила тех, чьи ключи были скомпрометированы, и 8 октября заблокировала опасные токены. Сейчас автоматическая передача PAT при создании организаций отключена — теперь для этого требуется прямое разрешение пользователя.
Патчи вышли, эксплоиты на низком старте — обновите Drupal
Специалисты Drupal подготовили патчи для двух критических багов, дающих хакерам возможность исполнять произвольный код на сервере (RCE). Одна проблема таится в ядре CMS, другая — в распространённом стороннем модуле. Разработчики предупреждают: эксплоиты могут появиться уже в ближайшее время, причем как минимум одно направление атаки не потребует прохождения авторизации.
Первая уязвимость (CVE-2026-108097) затрагивает модуль Field UI, который курирует настройку полей в административной панели. Ошибка кроется в механизме вызова PHP-колбэков: система исполняла функцию, переданную в параметре #region_callback, не удостоверившись в ее содержимом. В результате злоумышленники могли обойти встроенную защиту Drupal, предотвращающую запуск недоверенных колбэков. Уязвимость нельзя использовать только средствами ядра, но сторонние или кастомные модули предоставляют для этого лазейки. Хотя проблему можно было решить блокировкой этих модулей, разработчики решили полностью отказаться от механизма вызова PHP-колбэков, устранив первопричину.
Чтобы закрыть проблему, нужно обновить CMS до версий 11.4.10, 11.3.19 или 10.6.19 (ветки 11.2.x и 10.5.x больше не поддерживаются). Если обновиться прямо сейчас не выходит, администраторам советуют временно удалить модуль field_ui — это закроет дыру, но лишит доступа к настройке полей.
Вторая уязвимость (CVE-2026-108099) выявлена в Entity List. Она, как и первая, приводит к удалённому запуску вредоносного кода и в ряде случаев позволяет при определённых условиях обойтись без авторизации, хотя для атаки понадобится участие смежных модулей или доработок.
Проблема устранена в релизе Entity List 3.0.10, поэтому всем, у кого установлен этот модуль, необходимо срочно его обновить.
Дополнительно разработчики напомнили, что облачный сервис Drupal Steward уже противодействует некоторым векторам атак на эти уязвимости, но он не даёт абсолютной гарантии защиты. Основным и самым надёжным решением остаётся установка свежих патчей.
Одна дыра в Brotli задела Node.js и ещё десятки популярных проектов
В библиотеке для сжатия данных Brotli обнаружили критическую уязвимость, которая за массовость и серьёзность получила сразу несколько имен: Broccoli2Shell, HTTP2Shell, Node2Shell и Brotlipocalypse (CVE-2026-111497).
Проблема кроется в том, что декодер неверно обрабатывает ошибки в сжатом потоке: вместо остановки он продолжает читать данные за пределами выделенного буфера, что вызывает переполнение и позволяет удалённо выполнять код. Поскольку этот алгоритм встроен во множество проектов, под удар попали не только Node.js и Bun, но и Python-пакеты (brotli, brotlicffi). Для Python это особенно опасно: даже если приложение само не использует Brotli, популярные HTTP-клиенты (Requests, urllib3, httpx) могут автоматически распаковать вредоносный ответ от стороннего сервера, если в окружении установлен этот пакет.
Уязвимость выявили еще в феврале, но исправления для неё вышли только 22 октября. В день релиза появился прототип эксплоита, который работал лишь на специально ослабленных тестовых сборках. Однако вскоре специалисты Imperva опубликовали полноценный рабочий PoC (Node2Shell), выполняющий произвольный код на стандартной сборке Node.js 24.22.0 в Linux (ARM64) без использования отладчика.
В связи с этим разработчики Node.js выпустили срочные исправления во всех поддерживаемых ветках: 22.23.4, 24.22.1 и 26.12.1. При этом ветки 20.x и более ранние остаются без патчей, так как их поддержка официально прекращена — их пользователям придётся переходить на актуальные релизы.
Узнать подробнее можно здесь и здесь
GitLab под ударом: в Ruby нашли брешь на 10 из 10
Критическая проблема (CVE-2026-110264) затронула движок регулярных выражений Onigmo. Проблема затронула все локальные версии GitLab (self-managed), начиная с релиза 7.0, вышедшего в 2014 году. То есть изъян оставался незамеченным на протяжении 12 лет.
Корень проблемы — в переполнении внутренних идентификаторов, которое возникает, когда движок компилирует шаблон с огромным множеством повторов. В результате счетчики выходят из строя, и программа осуществляет запись за границы выделенного буфера, что позволяет злоумышленникам добиться удаленного выполнения кода (RCE). В GitLab внешние данные подставляются в регулярные выражения, что делает атаку возможной даже для неавторизованных лиц — достаточно передать специально сформированный запрос. Применение защитных механизмов, вроде ограничения времени обработки (Regexp.timeout), здесь бесполезно, так как злоумышленники используют короткие шаблоны.
Детали эксплуатации пока не раскрываются: по правилам GitLab их опубликуют через 30 дней после выхода исправления. При этом уже фиксируются попытки атак на пользователей платформы. Косвенно на эксплуатацию могут указывать участившиеся аварийные завершения Ruby и ошибки таймаута при обработке Org-файлов.
Разработчики Ruby подготовили корректирующие релизы: 3.3.13, 3.4.12 и 4.0.9. В GitLab также выпустили пакет обновлений безопасности (версии 19.5.1 и 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 и 18.11.13), которые блокируют эту проблему. Причём поддержка последних четырёх версий прекращена, однако из-за высокого уровня опасности (10 из 10 по CVSS), разработчики всё же подготовили исправления.
Помимо главной уязвимости (CVE-2026-110264), в движке регулярных выражений устранили еще три опасных изъяна. Один из них (CVE-2026-89078) приводил к двойному освобождению памяти при невозможности парсинга шаблона после его изменения. Еще два (CVE-2026-93577 и CVE-2026-97229) вызывали целочисленное переполнение при расчете размера компилируемого шаблона.
Стоит отметить, что ранее в этом месяце администраторам уже приходилось экстренно обновляться из-за похожей RCE-проблемы CVE-2026-97229. А в сентябре GitLab закрывал еще один критический изъян (CVE-2026-85706), который позволял неавторизованному злоумышленнику читать произвольные файлы на сервере. Об этом мы писали в нашем недавнем дайджесте и в этой статье.
Узнать подробнее можно здесь и здесь
Около 10% сети Tor было использовано для перехвата паролей пользователей
Злоумышленникам удалось захватить контроль над 333 из примерно 3000 выходных узлов. Целью атаки был перехват конфиденциальных данных — паролей, ключей и информации в незашифрованном трафике.
Активная фаза противостояния развернулась в начале октября: нападение началось вечером в пятницу 2 октября, однако уже 4 октября его удалось выявить и заблокировать. К 5 октября все скомпрометированные серверы были отключены силами операторов или самими атакующими. При этом разбор показал, что доступ к серверам злоумышленники получили еще за два месяца до этого, внедрив туда вредоносное ПО Ebury 1.8.3.
В фокусе атакующих находился транзитный трафик без шифрования. Их интересовали учетные записи, ключи доступа, а также отдельно — пароли для авторизации по SSH. Чтобы вынудить пользователей отказаться от шифрования почтового трафика, на узлах блокировались соответствующие сетевые порты. Весь незашифрованный поток при этом анализировался в реальном времени.
Для сбора SSH-паролей злоумышленники перенаправляли запросы на один из 12 своих серверов, которые запрашивали пароль от имени нужного хоста. Поскольку ключи не совпадали, клиент выдавал предупреждение. Если пользователь игнорировал его и вводил данные, вредоносный сервер пропускал трафик к настоящему серверу, но параллельно сохранял пароль, перехватывал действия в сессии и устанавливал на целевую машину Ebury для получения контроля над новыми Linux-серверами. После этого атакующие вносили изменения в конфигурационный файл torrc, тем самым превращая захваченные машины в новые вредоносные выходные узлы сети.
Что делать. Пользователям, которые в эти дни подключались по SSH через Tor, принимали незнакомый ключ и вводили пароль, стоит считать его скомпрометированным. Срочно смените пароли и проверьте системы на наличие постороннего доступа или следов вредоносного ПО.