Citrix подтвердила эксплуатацию двух критических уязвимостей в NetScaler — CVE-2026-88771 и CVE-2026-88772. Обе получили оценку серьёзности 9.5 и использовались в атаках до выпуска исправлений. Исправления вышли 27 сентября, но часть администраторов к тому моменту уже получила закрытые предупреждения с рекомендацией немедленно выключить устройства.
Ниже — механика обеих уязвимостей, версии с патчами, причины такой реакции и то, что злоумышленники делают на скомпрометированных устройствах.
Что за уязвимости и какие версии закрыты
CVE-2026-88771 — ошибка проверки входных данных, позволяющая неаутентифицированному атакующему выполнять произвольные команды. Она затрагивает все развёртывания NetScaler ADC и NetScaler Gateway, включая конфигурацию по умолчанию, и не требует включения каких-либо дополнительных функций.
CVE-2026-88772 — переполнение памяти, приводящее к удалённому выполнению кода или отказу в обслуживании. Для её эксплуатации нужен включённый DTLSпротокол датаграммной версии TLS, работающий поверх UDP, который на виртуальных 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)компонент NetScaler, который разбирает и обрабатывает сетевые пакеты; сбой в нём затрагивает весь трафик устройства. Атака строится на расхождении двух полей заголовка DTLS: сервер доверяет объявленному размеру фрагмента в поле fragment_length (1 байт), тогда как поле length в том же заголовке заявляет о полном сообщении в 120 байт.
Так, 120-байтовое handshake-сообщениеслужебное сообщение, которым стороны согласуют параметры защищённого соединения может прийти как 120 фрагментов: у каждого length равен 120, а fragment_length — 1. Запись выглядит маленькой, но в буфер копируется гораздо больше данных.
Дальше в дело вступает механика буферов. Каждый принятый пакет размером 1459 байт сохраняется в NetScaler Buffers (NSB)внутренние буферы NetScaler, в которых временно хранятся принятые пакеты, которые затем сшиваются в единый 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 называет установку последних обновлений безопасности единственным способом устранения обеих уязвимостей.
Источники
- www.bleepingcomputer.com/news/security/citrix-admins-warned-to-shut-down-netscalers-over-2-exploited-zero-days/
- www.bleepingcomputer.com/news/security/citrix-patches-netscaler-saml-zero-day-exploited-in-attacks/
- www.securitylab.ru/…/578029.php
- thehackernews.com/…/citrix-netscaler-cve-2026-88772-exploit.html
- thehackernews.com/…/citrix-netscaler-post-exploitation.html
- www.bleepingcomputer.com/news/security/hackers-exploit-citrix-netscaler-zero-day-to-deploy-web-shells/