Citrix выпустила экстренное обновление, закрывающее zero-dayуязвимость, о которой стало известно до выпуска исправления и которую уже используют в атаках в SAML-обработке NetScaler под идентификатором CVE-2026-88779. Уязвимость связана с переполнением памяти и приводит к отказу в обслуживании; CISA уже добавила её в каталог Known Exploited Vulnerabilities, подтвердив активную эксплуатацию. Это третий zero-day NetScaler за неделю — после CVE-2026-88771 и CVE-2026-88772, которые закрыли неделей ранее и которые уже использовались для удалённого выполнения кода.
Что именно изменилось
Исправление вышло в NetScaler ADC и NetScaler Gateway 14.1-73.41 и 13.1-64.28, а также в сборках FIPS и NDcPP: 14.1-73.41 FIPS и 13.1-37.282 соответственно. Обновляться нужно до этих версий или более поздних выпусков соответствующих веток.
Уязвимость затрагивает развёртывания, где NetScaler ADC или NetScaler Gateway настроен как SAML service providerсторона, которая принимает утверждения от провайдера идентичности и предоставляет доступ к ресурсу (SP) либо как SAML identity providerсторона, которая аутентифицирует пользователя и выпускает утверждения о нём (IdP). Проверить предусловие можно по конфигурации: для SAML SP это запись add authentication samlAction, для SAML IdP — add authentication samlIdPProfile. Это команды настройки SAML-аутентификации: первая задаёт профиль действия для режима service provider, вторая — профиль провайдера идентичности; наличие любой из них в конфигурации означает, что устройство работает в соответствующей роли и предусловие уязвимости выполнено.
Успешная эксплуатация вызывает отказ в обслуживании, а при повторном срабатывании сервис может оставаться недоступным. По данным Citrix, воздействия на целостность клиентских данных не выявлено.
Предыстория: волна из трёх уязвимостей
CVE-2026-88771 — удалённое выполнение кода из-за неправильной проверки входных данных, позволяющее неаутентифицированному атакующему выполнять произвольные команды; ей подвержены все развёртывания NetScaler ADC и NetScaler Gateway, включая конфигурацию по умолчанию. CVE-2026-88772 — переполнение памяти, приводящее к удалённому выполнению кода или отказу в обслуживании; для эксплуатации требуется включённый DTLSпротокол защиты дейтаграмм на основе TLS, применяемый для UDP-трафика, который по умолчанию включён на VPN vServer.
Сборки 14.1-73.37 и 13.1-64.23, выпущенные для той волны, от CVE-2026-88779 не защищают — поэтому Citrix требует перейти как минимум на 14.1-73.41 или 13.1-64.28. Патчи для новой уязвимости вышли 4 октября 2026 года, для предыдущей волны — неделей ранее.
В тот же бюллетень входят CVE-2026-88774 — обход политики из-за неправильного использования выражений на основе HTTP URL, и CVE-2026-88778 — предсказание начального порядкового номера TCP (ISN).
Механика CVE-2026-88772: как переполнение доходит до shellcode
Отдельного разбора заслуживает CVE-2026-88772 — по нему есть детальное описание цепочки. Эксплуатация основана на несоответствии при разборе DTLS: сервер доверяет полю fragment_length (1 байт), тогда как поле length заявляет 120 байт, поэтому вредоносная запись выглядит маленькой, а копируется больше данных.
Каждый принятый пакет 1459 байт хранится в NetScaler Buffersвнутренние буферы NetScaler, в которых временно размещаются принятые пакеты (NSBs) и сшивается в один scratch bufferобщий промежуточный буфер, куда по частям собирается сообщение всего 35 840 байт; уязвимая версия не проверяет, поместится ли следующий пакет, и данные пишутся за границу буфера. После 120 записей handshake считается завершённым, но цепочка NSB содержит около 174 КБ данных.
Переполнение позволяет перенаправить поток управления на произвольный shellcodeнабор машинных инструкций, который атакующий внедряет в память и заставляет процесс выполнить с root-правами, обходя NXаппаратный запрет на исполнение кода из областей памяти, предназначенных только для данных. Чтобы обойти NX, атакующие применяют mprotect()системный вызов, который меняет права доступа к участку памяти; им помечают область с внедрённым кодом как исполняемую, после чего процессор начинает выполнять её содержимое. По данным Mandiant, эксплуатация обходит аутентификацию и вызывает неожиданное завершение NetScaler Packet Processing Engine (NSPPE), давая атакующим root-доступ.
Почему Citrix называет это DoS, а исследователи видят большее
Citrix описывает CVE-2026-88779 как переполнение памяти, ведущее к отказу в обслуживании при определённых условиях развёртывания, и заявляет, что анализ указывает на влияние только на доступность сервиса. Администраторы и исследователи наблюдали активность, указывающую на возможность удалённого выполнения кода.
Один администратор, расследуя инциденты на устройствах NetScaler 14.1-73.37, обнаружил специально сформированные имена пользователей аутентификации, содержащие shell-команды, которые загружают полезную нагрузку с IP-адреса 213.209.159[.]55, сохраняют её как /v и исполняют файл. По его словам, эти запросы появлялись непосредственно перед тремя подтверждёнными последовательностями сбоев nsaaad на одном устройстве и были нацелены на несколько факторов SAML-аутентификации. Эксперт Кевин Бомонт сообщил, что пропатченные ханипоты NetScaler 13.1 и 14.1 падали после запросов с нескольких исходных IP-адресов, а позже заявил, что на одном из его пропатченных ханипотов выполнялась загруженная вредоносная полезная нагрузка. Компания watchTowr Labs подтвердила, что воспроизвела уязвимость.
Расхождение объясняется тем, что Citrix классифицирует уязвимость по заявленному влиянию на доступность, тогда как наблюдаемые атаки демонстрируют признаки выполнения кода.
Что это меняет на практике
Помимо обновления до исправленных сборок, для части CVE в бюллетене требуются отдельные действия с конфигурацией. Для CVE-2026-88778 нужно применить изменение TCP-конфигурации, описанное в разделе про enhanced ISN generationрежим выбора начальных порядковых номеров TCP, при котором они генерируются непредсказуемо и не могут быть угаданы атакующим. Проверка выполняется командой show ns tcpparam | grep "Enhanced ISN Generation", которая должна возвращать Enhanced ISN Generation: DISABLED: отключённый режим означает, что порядковые номера выбираются непредсказуемо, и предсказание ISN, лежащее в основе CVE-2026-88778, становится невозможным.
Для CVE-2026-88772 нужно проверить конфигурацию DTLS: уязвимость есть, если DTLS не отключён явно. Если в конфигурации VPN vServer DTLS не выключен явно, он работает по умолчанию и условие уязвимости выполнено; если DTLS отключён явно, предусловие не выполнено. Для CVE-2026-88774 предусловие — любое выражение политики на основе HTTP URL. Для CVE-2026-88779 проверяются конфигурации SAML SP и IdP, как указано выше.
Проверка предусловий для остальных CVE из бюллетеня выполняется по конфигурации: для 88773 и 88774 — наличие HTTP/SSL виртуальных серверов LB, CS, VPN или Authentication; для 88775 — наличие Gateway или AAA виртуального сервера; для 88776 — LB виртуальный сервер типа Oracle; для 88777 — поиск по конфигурации шаблонов FTP, RTSP, DNS64, NAT64 и других.
Признаки компрометации
На уже затронутых устройствах стоит искать артефакты пост-эксплуатации. Создаётся локальная учётная запись sec_monitor с ролью суперпользователя путём изменения /flash/nsconfig/ns.conf. Права /bin/sh меняются на 6555, а для сохранения root-доступа на /bin/sh выставляется setuid-битспециальный атрибут файла, при запуске которого процесс получает права владельца файла. Развёртываются PHP-веб-шеллы, включая WHIPSHOTPHP-веб-шелл, замаскированный под Debian-пакет и размещённый в каталоге VPN-скриптов NetScaler, и .local_journalPHP-веб-шелл в каталоге /var/netscaler/logon/LogonPoint/, дающий удалённое выполнение команд и загрузку файлов.
Конфигурация веб-сервера (/etc/httpd.conf) правится так, чтобы включить выполнение PHP и замаскировать веб-шеллы под легитимные ресурсы: под CSS-подобные URL, .deb, .sig или .ico-файлы. Индикаторы включают неавторизованные PHP-обработчики или алиасы в httpd.conf, подозрительные .deb или .sig файлы с PHP-кодом, необычные HTTP 404, неожиданные сбои NSPPE и файлы /tmp/.uxdport или /tmp/.uxdlock, связанные со SLAPSHOTPython-инструмент TCP-туннелирования, который соединяет скомпрометированный NetScaler с внутренними устройствами.
Ограничения и открытые вопросы
Для CVE-2026-88778 недостаточно установить обновление: без изменения TCP-конфигурации условие уязвимости сохраняется. Для CVE-2026-88779 исправление закрывает проблему только при выполнении предусловия — NetScaler должен работать как SAML SP или SAML IdP, иначе эксплуатация невозможна.
Для части уже обновлённых систем доступна временная защита через Global Deny Listсписок запрещённых адресов и узлов, задаваемый на уровне всей системы, но она не заменяет установку исправленных версий. Повторное срабатывание условия может надолго оставить сервис недоступным. Анализ Citrix не выявил влияния на целостность клиентских данных.
Источники
- support.citrix.com/…/citrix-netscaler-adc-and-citrix-netscale.html
- www.bleepingcomputer.com/news/security/citrix-patches-netscaler-saml-zero-day-exploited-in-attacks/
- thehackernews.com/…/new-netscaler-zero-day-exploited-in.html
- www.bleepingcomputer.com/news/security/hackers-exploit-citrix-netscaler-zero-day-to-deploy-web-shells/
- www.securitylab.ru/…/578336.php
- thehackernews.com/…/citrix-netscaler-cve-2026-88772-exploit.html
- thehackernews.com/…/citrix-netscaler-post-exploitation.html