FlawOpen

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

● CVE-2026-88779 · CVSS v4 8.7 · Alta
Investigación · FlawOpen

CVE-2026-88779: desbordamiento de memoria SAML en Citrix NetScaler

CVE-2026-88779 es una vulnerabilidad de desbordamiento de memoria en Citrix NetScaler ADC y Gateway administrados por el cliente. Afecta a despliegues con autenticación SAML configurada y se utiliza en ataques dirigidos para provocar denegación de servicio; Citrix no ha identificado impacto en la integridad de los datos de clientes.[1], [2], [3]

💡 Explicación en Lenguaje Sencillo (ELI5)

Una cola tiene espacio limitado. Si el empleado acepta un turno que ocupa más espacio del disponible, el mostrador puede atascarse y dejar de atender a todos. Este fallo rebasa un límite de memoria en una ruta SAML concreta; el impacto confirmado es la disponibilidad, no una RCE documentada.[1]

Conceptos Clave y Términos

SAML SP / IdP
Roles de proveedor de servicios y proveedor de identidad en la autenticación SAML; Citrix indica ambas configuraciones como requisito.[1]
CWE-119
Restricción inadecuada de operaciones dentro de los límites de un búfer de memoria.[1]
Global Deny List
Función de parcheo virtual de Citrix; mitigación temporal sujeta a los requisitos documentados.[2]
CVE-2026-88771 relacionada
Una RCE CWE-20 sin autenticación afecta a todos los despliegues administrados por el cliente. Es distinta de este fallo CWE-119 de denegación de servicio condicionado por SAML; ambas figuran en el boletín CTX697096 y comparten las ramas de versiones corregidas.[6]

Mapeos de marcos

Análisis de Causa Raíz

Citrix clasifica CVE-2026-88779 como CWE-119, CVSS 4.0 8,7, y describe un desbordamiento de memoria que provoca denegación de servicio cuando NetScaler ADC o Gateway está configurado como proveedor de servicios SAML (SP) o proveedor de identidad (IdP). La guía complementaria de Citrix centra la evaluación en el uso de autenticación SAML con funciones Gateway o AAA e informa de ataques dirigidos contra despliegues sin mitigar. La activación repetida puede mantener el servicio sin disponibilidad; Citrix no ha identificado impacto en la integridad de los datos. El proveedor no ha publicado las líneas vulnerables ni el diff del parche; el ejemplo C siguiente ilustra genéricamente una comprobación de límites, no es código de NetScaler ni reproduce la vulnerabilidad. Inspecciona la configuración en busca de add authentication samlAction (SAML SP) o add authentication samlIdPProfile (SAML IdP), evalúa el contexto Gateway/AAA, aplica la versión corregida y usa Global Deny List solo si se cumplen los requisitos de versión y consola documentados por Citrix.[1], [2]

Matriz de alcance y corrección de CVE-2026-88779

ÁreaCondición o versión documentadaAcción del operador
Configuración afectadaADC/Gateway administrado por el cliente con SAML SP o IdP configurado en el contexto Gateway/AAA.Inspecciona add authentication samlAction y add authentication samlIdPProfile; evalúa el contexto Gateway/AAA.
ADC/Gateway 14.1Afectado antes de 14.1-73.41; corregido en 14.1-73.41 o posterior.Actualiza a la versión corregida de esta rama.
ADC/Gateway 13.1Afectado antes de 13.1-64.28; corregido en 13.1-64.28 o posterior.Actualiza a la versión corregida de esta rama.
ADC 14.1-FIPSAfectado antes de 14.1-73.41 FIPS; corregido en 14.1-73.41 FIPS o posterior.Actualiza a la versión FIPS corregida; no uses el número de la versión estándar.
ADC 13.1-FIPS/NDcPPAfectado antes de 13.1-37.282; corregido en 13.1-37.282 o posterior.Actualiza a la versión corregida FIPS/NDcPP que corresponda.
Versiones provisionales elegibles para Global Deny List14.1-73.37 ≤ versión < 14.1-73.41; 13.1-64.23 ≤ versión < 13.1-64.28.Úsala solo como virtual patch temporal tras confirmar todos los requisitos de Citrix; no sustituye la actualización.
Requisitos de Global Deny ListNetScaler Console con Cloud Connect o Console service; virtual patching habilitado; firmas predeterminadas v24 o posteriores.Verifica con show appfw signatures y stat denylist global AAA_REQUEST; revisa la guía vigente de Citrix antes de activarla.

Flujo de Ataque Paso a Paso

Paso 1

La solicitud SAML llega al servicio configurado

Una solicitud de red alcanza la ruta de autenticación SAML en un despliegue que cumple los requisitos previos de Citrix.[1], [3]

Paso 2

Se activa el fallo del límite de memoria

Puede activarse el manejo vulnerable de límites de memoria; Citrix documenta denegación de servicio e informa de explotación dirigida.[1]

Paso 3

El servicio de autenticación queda indisponible

Si se activa repetidamente, el servicio puede permanecer indisponible. Citrix no ha identificado impacto de integridad; no conviertas esta CVE en una RCE.[1], [2]

Paso 4

Comprueba el alcance, mitiga y aplica el parche

Inspecciona SAML y el contexto Gateway/AAA, utiliza solo la mitigación Global Deny List si es aplicable y actualiza a la versión corregida.[1], [2]

Código Fuente: Vulnerable vs. Seguro

Este ejemplo en C ilustra una comprobación genérica de capacidad de búfer. Citrix no ha publicado el código vulnerable de NetScaler ni el diff de la corrección. No reproduce la CVE; la corrección admitida es la versión corregida de Citrix y Global Deny List solo es una mitigación temporal si se cumplen sus requisitos.

Fragmento de origen: Ejemplo genérico de comprobación de límites en C; no es código fuente de Citrix NetScaler

IMPLEMENTACIÓN VULNERABLE
#include <stddef.h>
#include <stdint.h>
#include <string.h>

int copy_field(uint8_t *dst, const uint8_t *src, size_t len) {
    /* Patrón inseguro genérico: la longitud de entrada no se comprueba frente a la capacidad de dst. */
    memcpy(dst, src, len);
    return 1;
}
PARCHE SEGURO Y ROBUSTO
#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;
}

Lista de Verificación de Seguridad para Ingeniería

Fuentes