FlawOpen

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

● CVE-2026-88779 · CVSS v4 8.7 · Haute
Recherche · FlawOpen

CVE-2026-88779 : dépassement mémoire SAML dans Citrix NetScaler

CVE-2026-88779 est une vulnérabilité de dépassement mémoire dans les équipements Citrix NetScaler ADC et Gateway gérés par les clients. Elle concerne les déploiements où l’authentification SAML est configurée et fait l’objet d’attaques ciblées visant un déni de service ; Citrix n’a identifié aucun impact sur l’intégrité des données client.[1], [2], [3]

💡 Explication en Langage Simple (ELI5)

Une file d’attente a une capacité limitée. Si un guichet accepte un ticket qui réclame plus de place que disponible, le service peut se bloquer pour tout le monde. Cette faille dépasse une limite mémoire dans un chemin SAML précis ; l’impact confirmé porte sur la disponibilité, pas sur une RCE documentée.[1]

Concepts Clés et Termes

SAML SP / IdP
Rôles de fournisseur de services et de fournisseur d’identité dans SAML ; Citrix cite ces deux configurations comme prérequis.[1]
CWE-119
Restriction incorrecte des opérations dans les limites d’un tampon mémoire.[1]
Global Deny List
Fonction de correctif virtuel Citrix ; mesure temporaire soumise aux prérequis documentés.[2]
CVE-2026-88771 associée
Une RCE CWE-20 sans authentification concerne tous les déploiements gérés par le client. Elle est distincte de ce défaut CWE-119 de déni de service lié à SAML ; les deux figurent dans le bulletin Citrix CTX697096 et partagent les branches corrigées.[6]

Correspondances de référentiels

Analyse de Cause Racine

Citrix classe CVE-2026-88779 en CWE-119, CVSS 4.0 8,7, et décrit un dépassement mémoire entraînant un déni de service lorsque NetScaler ADC ou Gateway est configuré comme fournisseur de services SAML (SP) ou fournisseur d’identité (IdP). Les précisions de Citrix concentrent l’évaluation sur l’authentification SAML utilisée avec Gateway ou AAA et signalent des attaques ciblées contre des déploiements non atténués. Des déclenchements répétés peuvent maintenir le service indisponible ; Citrix n’a identifié aucun impact sur l’intégrité des données. Le fournisseur n’a publié ni lignes vulnérables ni diff du correctif ; l’exemple C ci-dessous illustre une vérification de limites générique, ce n’est ni du code NetScaler ni une reproduction. Recherchez add authentication samlAction (SAML SP) ou add authentication samlIdPProfile (SAML IdP) dans la configuration, évaluez le contexte Gateway/AAA, appliquez le build corrigé et n’utilisez Global Deny List que si les prérequis Citrix de version et de console sont réunis.[1], [2]

Matrice de portée et de correction de CVE-2026-88779

DomaineCondition ou version documentéeAction de l’opérateur
Configuration concernéeADC/Gateway géré par le client avec SAML SP ou IdP configuré dans le contexte Gateway/AAA.Inspecter add authentication samlAction et add authentication samlIdPProfile ; évaluer le contexte Gateway/AAA.
ADC/Gateway 14.1Concerné avant 14.1-73.41 ; corrigé à partir de 14.1-73.41.Mettre à niveau vers la version corrigée de cette branche.
ADC/Gateway 13.1Concerné avant 13.1-64.28 ; corrigé à partir de 13.1-64.28.Mettre à niveau vers la version corrigée de cette branche.
ADC 14.1-FIPSConcerné avant 14.1-73.41 FIPS ; corrigé à partir de 14.1-73.41 FIPS.Mettre à niveau vers la version FIPS corrigée ; ne pas reprendre le numéro de la version standard.
ADC 13.1-FIPS/NDcPPConcerné avant 13.1-37.282 ; corrigé à partir de 13.1-37.282.Mettre à niveau vers la version corrigée FIPS/NDcPP applicable.
Versions intermédiaires éligibles au Global Deny List14.1-73.37 ≤ version < 14.1-73.41 ; 13.1-64.23 ≤ version < 13.1-64.28.À utiliser uniquement comme virtual patch temporaire après validation de tous les prérequis Citrix ; cela ne remplace pas la mise à niveau.
Prérequis du Global Deny ListNetScaler Console avec Cloud Connect ou Console service ; virtual patching activé ; signatures par défaut v24 ou ultérieures.Vérifier avec show appfw signatures et stat denylist global AAA_REQUEST ; consulter les consignes Citrix actuelles avant activation.

Déroulement de l'Attaque Étape par Étape

Étape 1

La requête SAML atteint le service configuré

Une requête réseau atteint le chemin d’authentification SAML d’un déploiement répondant aux prérequis Citrix.[1], [3]

Étape 2

La défaillance de limite mémoire se déclenche

La gestion vulnérable des limites mémoire peut être déclenchée ; Citrix documente un déni de service et signale une exploitation ciblée.[1]

Étape 3

Le service d’authentification devient indisponible

Des déclenchements répétés peuvent maintenir le service indisponible. Citrix n’a identifié aucun impact sur l’intégrité ; ne présentez pas cette CVE comme une RCE.[1], [2]

Étape 4

Vérifiez le périmètre, atténuez et corrigez

Inspectez SAML et le contexte Gateway/AAA, n’utilisez l’atténuation Global Deny List que si elle est applicable, puis mettez à niveau.[1], [2]

Code Source : Vulnérable vs Sécurisé

Cet exemple C illustre un contrôle générique de capacité de tampon. Citrix n’a pas publié le code vulnérable NetScaler ni le diff du correctif. Il ne reproduit pas la CVE ; la correction prise en charge est le build Citrix corrigé, et Global Deny List n’est qu’une mesure temporaire si ses prérequis sont respectés.

Extrait source: Exemple générique de vérification de limites en C ; pas le code source Citrix NetScaler

IMPLÉMENTATION VULNÉRABLE
#include <stddef.h>
#include <stdint.h>
#include <string.h>

int copy_field(uint8_t *dst, const uint8_t *src, size_t len) {
    /* Modèle générique non sécurisé : la longueur de l’entrée n’est pas vérifiée par rapport à la capacité de dst. */
    memcpy(dst, src, len);
    return 1;
}
PATCH SÉCURISÉ ET ROBUSTE
#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;
}

Liste de Contrôle de Sécurité pour l'Ingénierie

Sources