Уязвимость Citrix NetScaler CVE-2026-88772: детали эксплойта раскрывают путь к выполнению шеллкода без аутентификации

Citrix Netscaler уязвимость кибербезопасность Dtls переполнение памяти thehackernews.com

Устранена критическая уязвимость CVE-2026-88772 в Citrix NetScaler ADC и Gateway. Исправлена ошибка переполнения памяти в протоколе DTLS, позволявшая удаленное выполнение кода. Обновите свои системы для защиты от атак.

Исследователи в области кибербезопасности раскрыли технические детали недавно устраненного критического уязвимости в Citrix NetScaler ADC и Gateway, которая активно использовалась злоумышленниками. Уязвимость, отслеживаемая как CVE-2026-88772 (оценка CVSS: 9,5), представляет собой ошибку переполнения памяти при обработке протокола Datagram Transport Layer Security (DTLS), укоренившуюся в NetScaler Packet Processing Engine (NSPPE).
«Citrix NetScaler ADC и NetScaler Gateway содержат уязвимость, связанную с некорректным ограничением операций в пределах буфера памяти, которая может привести к удаленному выполнению кода или отказу в обслуживании», — заявило Агентство по кибербезопасности и защите инфраструктуры США (CISA).
Проблема, по данным watchTowr, заключается в том, что NetScaler неявно доверяет заявленному размеру фрагмента в поле fragment_length заголовка DTLS handshake (т. е. 1 байт), в то время как заголовок одновременно утверждает, что полное сообщение, обозначенное полем length, имеет длину 120 байт. Это несоответствие в парсинге может быть использовано злоумышленником для создания вредоносной записи, которая выглядит как небольшая, в то время как фактические данные, копируемые в буфер, имеют гораздо больший размер, что приводит к переполнению.
«Например, 120-байтовое сообщение handshake может поступить в виде 120 фрагментов. Каждый фрагмент имеет длину=120, но каждый из них может иметь fragment_length=1», — пояснил исследователь безопасности Сина Хейрха. «Их смещения будут 0, 1, 2 и так далее до 119. Как только каждая позиция будет получена, сервер считает 120-байтовое сообщение полным. Соединение этих частей называется повторной сборкой».
Каждый полученный пакет размером 1459 байт сохраняется в NetScaler Buffers (NSB), которые затем сшиваются в один буфер scratch объемом всего 35 840 байт. Учитывая, что уязвимая версия не проверяет, поместится ли следующий пакет в буфер scratch, данные записываются за пределы буфера, что приводит к его переполнению.
«Вредоносные записи сообщают коду повторной сборки, что каждая запись предоставляет только один байт 120-байтового сообщения handshake», — сказал Хейрха. «Однако NSPPE сохраняет почти всю запись в NSB. После 120 записей сообщение handshake считается полным, но его цепочка NSB содержит около 174 КБ данных».
Анализ watchTowr далее показал, что это переполнение может быть использовано для перенаправления потока управления на произвольный shellcode с привилегиями root с помощью системного вызова mprotect() для обхода защит NX (no-execute).
Раскрытие информации произошло через день после того, как компания по управлению рисками выпустила proof-of-concept (PoC) для CVE-2026-88771, которая использовалась вместе с CVE-2026-88772 в реальных атаках.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

В тренде:


Похожие новости: