FlawOpen

flawopen.com/Teardowns/cve-2026-88779-citrix-netscaler-saml-memory-overflow

● CVE-2026-88779 · CVSS v4 8.7 · Высокий
Исследования · FlawOpen

CVE-2026-88779: переполнение памяти SAML в Citrix NetScaler

CVE-2026-88779 — уязвимость переполнения памяти в управляемых клиентом Citrix NetScaler ADC и Gateway. Она затрагивает системы с настроенной аутентификацией SAML и используется в целевых атаках для отказа в обслуживании; Citrix не выявила влияния на целостность данных клиентов.[1], [2], [3]

💡 Простыми словами (ELI5)

У очереди есть ограниченная вместимость. Если сотрудник принимает талон, требующий больше места, чем есть, стойка может зависнуть и перестать обслуживать всех. Эта ошибка нарушает границу памяти в определённом пути SAML; подтверждённое последствие — доступность, а не документированное RCE.[1]

Ключевые понятия и термины

SAML SP / IdP
Роли поставщика услуг и поставщика удостоверений в SAML; Citrix указывает обе конфигурации как условие.[1]
CWE-119
Недостаточное ограничение операций в пределах буфера памяти.[1]
Global Deny List
Функция виртуального патчинга Citrix; временная мера при соблюдении опубликованных условий.[2]
Связанная CVE-2026-88771
Отдельная RCE без аутентификации CWE-20 затрагивает все управляемые клиентом установки. Это не данная зависящая от SAML уязвимость CWE-119 с отказом в обслуживании; обе указаны в бюллетене Citrix CTX697096 и исправляются в общих ветках релизов.[6]

Связи со стандартами

Анализ первопричины

Citrix относит CVE-2026-88779 к CWE-119, CVSS 4.0 8,7 и описывает переполнение памяти с отказом в обслуживании, когда NetScaler ADC или Gateway настроен как поставщик услуг SAML (SP) либо поставщик удостоверений (IdP). Дополнительные рекомендации Citrix указывают на использование SAML вместе с функциями Gateway или AAA и сообщают о целевых атаках на незащищённые установки. Повторное срабатывание может надолго нарушить работу сервиса; Citrix не выявила влияния на целостность клиентских данных. Исходные строки и diff исправления не опубликованы; пример C ниже лишь показывает общую проверку границ и не является кодом NetScaler или воспроизведением уязвимости. Найдите в конфигурации add authentication samlAction (SAML SP) или add authentication samlIdPProfile (SAML IdP), оцените контекст Gateway/AAA, установите исправленную сборку и применяйте Global Deny List только при соблюдении требований Citrix к версии и консоли.[1], [2]

Матрица применимости и исправления CVE-2026-88779

ОбластьДокументированное условие или версияДействие оператора
Уязвимая конфигурацияУправляемый заказчиком ADC/Gateway с настроенным SAML SP или IdP в контексте Gateway/AAA.Проверьте add authentication samlAction и add authentication samlIdPProfile; оцените контекст Gateway/AAA.
ADC/Gateway 14.1Уязвимы версии до 14.1-73.41; исправлено начиная с 14.1-73.41.Обновитесь до исправленной версии этой ветки.
ADC/Gateway 13.1Уязвимы версии до 13.1-64.28; исправлено начиная с 13.1-64.28.Обновитесь до исправленной версии этой ветки.
ADC 14.1-FIPSУязвимы версии до 14.1-73.41 FIPS; исправлено начиная с 14.1-73.41 FIPS.Обновитесь до исправленной версии FIPS; не используйте номер стандартной сборки.
ADC 13.1-FIPS/NDcPPУязвимы версии до 13.1-37.282; исправлено начиная с 13.1-37.282.Обновитесь до соответствующей исправленной версии FIPS/NDcPP.
Промежуточные версии, подходящие для Global Deny List14.1-73.37 ≤ версия < 14.1-73.41; 13.1-64.23 ≤ версия < 13.1-64.28.Используйте только как временный виртуальный патч после проверки всех требований Citrix; это не замена обновлению.
Требования Global Deny ListNetScaler Console с Cloud Connect или Console service; virtual patching включён; стандартные сигнатуры не ниже v24.Проверьте с помощью show appfw signatures и stat denylist global AAA_REQUEST; перед включением изучите текущие инструкции Citrix.

Пошаговый сценарий атаки

Шаг 1

Запрос SAML достигает настроенного сервиса

Сетевой запрос достигает пути SAML-аутентификации в системе, отвечающей условиям Citrix.[1], [3]

Шаг 2

Срабатывает ошибка границы памяти

Может сработать ошибочная обработка границ памяти; Citrix описывает отказ в обслуживании и сообщает о целевых атаках.[1]

Шаг 3

Сервис аутентификации становится недоступен

При повторных срабатываниях сервис может оставаться недоступным. Citrix не выявила нарушения целостности; не называйте эту CVE RCE.[1], [2]

Шаг 4

Проверьте охват, примените меру и обновление

Проверьте SAML и контекст Gateway/AAA, при необходимости применяйте только допустимую временную меру Global Deny List и обновите ПО.[1], [2]

Исходный код: Уязвимый vs Защищённый вариант

Пример C показывает общую проверку ёмкости буфера. Citrix не публиковала уязвимый исходный код NetScaler или diff исправления. Пример не воспроизводит CVE; поддерживаемое устранение — исправленная сборка Citrix, а Global Deny List является временной мерой только при выполнении требований.

Фрагмент исходного кода: Общий пример проверки границ на C; не исходный код Citrix NetScaler

УЯЗВИМАЯ РЕАЛИЗАЦИЯ
#include <stddef.h>
#include <stdint.h>
#include <string.h>

int copy_field(uint8_t *dst, const uint8_t *src, size_t len) {
    /* Общий небезопасный шаблон: длина входных данных не проверяется относительно ёмкости dst. */
    memcpy(dst, src, len);
    return 1;
}
БЕЗОПАСНЫЙ ИСПРАВЛЕННЫЙ ВАРИАНТ
#include <stddef.h>
#include <stdint.h>
#include <string.h>

int copy_field(uint8_t *dst, size_t dst_capacity,
               const uint8_t *src, size_t len) {
    if (len > dst_capacity) return 0;
    memcpy(dst, src, len);
    return 1;
}

Чек-лист по защите системы для инженеров

Источники