Назад к блогу

Две уязвимости нулевого дня в NetScaler: что именно сломалось и почему шлюзы отключают

Две уязвимости нулевого дня в NetScaler: что именно сломалось и почему шлюзы отключают

Citrix закрыла две критические уязвимости в NetScaler с одинаковой оценкой 9.5, которые эксплуатировались ещё до выхода патчей — из-за чего часть администраторов получила закрытые предупреждения с требованием срочно отключить устройства. Разбираем механику обеих брешей, включая переполнение при обработке DTLS, и версии с исправлениями. Отдельно — третья уязвимость в SAML-аутентификации, где оценки Citrix и сообщества разошлись, а на скомпрометированных шлюзах уже находили следы загрузки и запуска стороннего кода.

Citrix подтвердила эксплуатацию двух критических уязвимостей в NetScaler — CVE-2026-88771 и CVE-2026-88772. Обе получили оценку серьёзности 9.5 и использовались в атаках до выпуска исправлений. Исправления вышли 27 сентября, но часть администраторов к тому моменту уже получила закрытые предупреждения с рекомендацией немедленно выключить устройства.

Ниже — механика обеих уязвимостей, версии с патчами, причины такой реакции и то, что злоумышленники делают на скомпрометированных устройствах.

Что за уязвимости и какие версии закрыты

CVE-2026-88771 — ошибка проверки входных данных, позволяющая неаутентифицированному атакующему выполнять произвольные команды. Она затрагивает все развёртывания NetScaler ADC и NetScaler Gateway, включая конфигурацию по умолчанию, и не требует включения каких-либо дополнительных функций.

CVE-2026-88772 — переполнение памяти, приводящее к удалённому выполнению кода или отказу в обслуживании. Для её эксплуатации нужен включённый DTLS, который на виртуальных VPN-серверах NetScaler включён по умолчанию.

Исправления выпущены в NetScaler ADC и Gateway 14.1-73.37 и 13.1-64.23. Отдельно:

  • NetScaler ADC 14.1-FIPS — не ниже 14.1-73.37 FIPS;
  • ветки 13.1-FIPS и 13.1-NDcPP — сборка 13.1-37.279.

Вместе с этими двумя уязвимостями Citrix закрыла ещё шесть ошибок в NetScaler.

Как работает CVE-2026-88772

Ошибка живёт в обработке DTLS внутри NetScaler Packet Processing Engine (NSPPE). Атака строится на расхождении двух полей заголовка DTLS: сервер доверяет объявленному размеру фрагмента в поле fragment_length (1 байт), тогда как поле length в том же заголовке заявляет о полном сообщении в 120 байт.

Так, 120-байтовое handshake-сообщение может прийти как 120 фрагментов: у каждого length равен 120, а fragment_length — 1. Запись выглядит маленькой, но в буфер копируется гораздо больше данных.

Дальше в дело вступает механика буферов. Каждый принятый пакет размером 1459 байт сохраняется в NetScaler Buffers (NSB), которые затем сшиваются в единый scratch-буфер размером всего 35 840 байт. Уязвимая версия не проверяет, поместится ли следующий пакет в этот буфер, поэтому данные пишутся за его границы. После 120 записей handshake считается завершённым, но цепочка NSB содержит около 174 КБ данных — это и даёт переполнение.

120-байтовое handshake-сообщение → 120 фрагментов, fragment_length=1, length=120
пакет 1459 байт → NSB → scratch-буфер 35 840 байт (без проверки вместимости)
120 записей → ~174 КБ в цепочке NSB → переполнение

Переполнение повреждает границы кучи и позволяет перенаправить поток управления на произвольный shellcode с привилегиями root. Чтобы обойти защиту NX (no-execute), вредоносный код делает участок памяти исполняемым. По данным Mandiant, эксплуатация обходит аутентификацию и приводит к неожиданному завершению NSPPE, давая атакующему root-доступ на платформе FreeBSD.

Третья уязвимость: SAML и расхождение в оценках

Позже обнаружилась ещё одна уязвимость — CVE-2026-88779, переполнение буфера памяти в NetScaler ADC и NetScaler Gateway при использовании SAML-аутентификации с функциями Gateway или AAA. Условие срабатывания — настроенная SAML-аутентификация: устройство должно быть сконфигурировано либо как SAML SP, либо как SAML IdP.

Здесь позиции Citrix и сообщества расходятся. Citrix описывает проблему как отказ в обслуживании: при повторном срабатывании сервис может оставаться недоступным, а по данным компании, целостность данных клиентов не затронута. Администраторы и исследователи видят большее — активность, указывающую на возможность удалённого выполнения кода.

Наблюдения конкретны. Один администратор при расследовании инцидентов на устройствах 14.1-73.37 обнаружил в поддельных именах пользователей при аутентификации shell-команды, которые скачивали полезную нагрузку с IP 213.209.159[.]55, сохраняли её как /v и исполняли файл. Эти запросы предшествовали трём подтверждённым последовательностям падений процесса nsaaad на одном устройстве и были нацелены на несколько факторов SAML-аутентификации. При этом администратор подчёркивал: логи показывали попытки эксплуатации и коррелирующие падения, но не подтверждали успешное выполнение команд.

Кевин Бомонт сообщил, что пропатченные ханипоты NetScaler 13.1 и 14.1 падали после запросов с множества исходных IP-адресов, а позже обнаружил на одном из пропатченных ханипотов работающий загруженный вредоносный бинарник.

Предыстория

Это не первый подобный инцидент с NetScaler. За несколько недель до нынешнего случая злоумышленники атаковали VPN NetScaler через критическую уязвимость CVE-2026-19490, позволявшую обходить аутентификацию. Похожий сценарий с веб-оболочками уже применяли против NetScaler в 2023 году.

Почему шлюзы отключают

В конце прошлой недели отдельные администраторы начали получать закрытые предупреждения с необычно жёсткой рекомендацией немедленно отключить NetScaler. Один администратор описал это так: «We got a call from our IT supplier's security team, they couldn't give any details but they advised to shut our Netscalers down immediately». Другие сообщали, что с организациями связывались правоохранительные органы, CERT и национальные агентства кибербезопасности.

NCSC-NL отправил предварительное уведомление организациям в Нидерландах до публичного раскрытия уязвимостей: агентство получило информацию от европейского партнёрского CERT о двух уязвимостях, которые могли независимо приводить к удалённому выполнению кода. Поскольку обновление NetScaler может вызвать простой, предупреждение должно было дать организациям время подготовиться, внедрить защитные меры и быстро установить патчи. NCSC также предупредил, что попытки эксплуатации могут возрасти после выпуска патчей и дополнительных технических деталей.

Рекомендация после выпуска исправлений: как можно скорее обновить затронутые устройства до пропатченных версий, а если это невозможно немедленно — сократить доступ из интернета, где это операционно возможно.

Ставки высоки, потому что NetScaler обычно развёрнут как интернет-доступное пограничное устройство, обеспечивающее удалённый доступ и доставку приложений для внутренних сетей. Компрометация такого устройства даёт атакующим первоначальный доступ на периметре и потенциальный путь к внутренним системам, не требуя сначала скомпрометировать конечную точку внутри организации.

Что делают после компрометации

По данным Mandiant, eSentire и GreyNoise, пост-эксплуатация выглядит так. Злоумышленники изменяют /flash/nsconfig/ns.conf, чтобы создать локальную учётную запись sec_monitor с ролью суперпользователя. Каталог /flash/nsconfig архивируется в /tmp/update_result_3567cs.tgz и выгружается на внешний сервер 64.94.85[.]67:443, после чего архив и сам скрипт удаляются, чтобы сократить следы на диске.

Затем развёртывается PHP-веб-шелл в /var/netscaler/logon/LogonPoint/.local_journal для удалённого выполнения команд, загрузки и скачивания файлов. Чтобы шелл был доступен, правится /etc/httpd.conf: включается выполнение PHP, а сам шелл сопоставляется с URL, похожими на легитимные CSS-ресурсы NetScaler. eSentire наблюдала, как несколько групп злоумышленников эксплуатировали CVE-2026-88771 и до, и после публичного раскрытия, чтобы развернуть PHP-веб-шеллы, изменить конфигурационные файлы Apache и получить root-доступ к оболочке.

Для закрепления root-доступа на /bin/sh выставляется бит setuid. Устройство перезагружается или перезапускается веб-сервер, чтобы применить изменения конфигурации.

Масштаб и сроки

Cortex Xpanse от Palo Alto Networks насчитала на 27 сентября 50 277 доступных из интернета экземпляров, потенциально соответствовавших условиям эксплуатации. NCSC сообщил, что эксплуатация выявлена у нескольких клиентов Citrix по всему миру, но не знал, были ли атаки широко распространены.

Эксплуатация наблюдалась до и после публичного раскрытия, причём часть активности после раскрытия пришлась примерно на 24 часа. Атаки шли весь сентябрь, и для одной из них не требуется ни пароль, ни специальная настройка устройства.

Ограничения и открытые вопросы

Расхождение в оценке CVE-2026-88779 остаётся неразрешённым: Citrix настаивает на отказе в обслуживании, администраторы и исследователи видят признаки удалённого выполнения кода. Прямого подтверждения успешного выполнения команд в логах нет — есть попытки эксплуатации и коррелирующие падения.

Google предупреждает, что отключение DTLS защищает только от CVE-2026-88772 и не защищает от отдельно эксплуатируемой CVE-2026-88771. Mandiant называет установку последних обновлений безопасности единственным способом устранения обеих уязвимостей.

Источники

Похожее