🔍 Contexte

Publié le 14 août 2026 par Sina Kheirkhah (@sinsinology) sur watchTowr Labs, cet article présente une analyse technique approfondie d’une vulnérabilité heap overflow pré-authentifiée affectant Citrix NetScaler ADC et NetScaler Gateway, corrigée dans un récent bulletin de sécurité Citrix.

🐛 Vulnérabilité

La vulnérabilité, supposée être CVE-2026-8452, réside dans le binaire nsppe (moteur de traitement de paquets NetScaler) lors du traitement SAML. Plus précisément :

  • Lors de la canonicalisation de l’élément <ds:SignedInfo>, les données contrôlées par l’attaquant sont copiées dans un buffer global de taille fixe sans vérification de taille
  • L’attribut PrefixList de l’élément <ec:InclusiveNamespaces> peut contenir une chaîne arbitrairement longue (valeurs uniques séparées par des espaces)
  • Un débordement de ce buffer corrompt les métadonnées du chunk NSB (NetScaler Buffer) adjacent dans le pool mémoire

Versions affectées :

  • NetScaler ADC et Gateway 14.1 avant 14.1-72.61
  • NetScaler ADC et Gateway 13.1 avant 13.1-63.18

Condition de déclenchement : L’appliance doit être configurée en SAML (Service Provider ou Identity Provider).

⚙️ Exploitation

L’exploitation suit plusieurs étapes :

  1. Heap overflow : Envoi d’un PrefixList surdimensionné → corruption du header du chunk NSB voisin (champs +0x50 data pointer, +0x60 freelist link)
  2. Primitive write-what-where : Le champ +0x50 corrompu est utilisé comme destination d’un memcpy ultérieur dans splitPktInner, dont la source est également contrôlée (données canonicalisées)
  3. Contrôle de RIP : Écrasement du pointeur de fonction global tx_pkt_complete_fptr utilisé par pe_tx_pkt via jmp rax
  4. Exécution de shellcode : Le heap est RWX, non-PIE, sans ASLR → adresse du shellcode fixe et prévisible après respawn de nsppe
  5. Dépôt de webshell PHP : /var/vpn/theme/x.php contenant <?php echo(system($_GET[0])); ?>
  6. Contournement de pitboss : Neutralisation des signal handlers (SIGSEGV, SIGBUS, etc.) via sigaction pour éviter le reboot complet et permettre la survie du webshell
  7. Élévation de privilèges : Positionnement du bit SUID sur /bin/sh → exécution en root via le webshell

🎯 Impact

  • Exécution de code à distance pré-authentifiée (RCE) sur des appliances NetScaler exposées avec SAML activé
  • Accès root complet au système
  • nsppe s’exécute déjà en root

📄 Type d’article

Il s’agit d’une publication de recherche à visée technique (writeup d’exploitation), produite par watchTowr Labs, documentant la découverte, l’analyse par diff de patch et le développement d’un exploit fonctionnel pour une vulnérabilité corrigée dans Citrix NetScaler.

🧠 TTPs et IOCs détectés

TTP

  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1203 — Exploitation for Client Execution (Execution)
  • T1505.003 — Server Software Component: Web Shell (Persistence)
  • T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
  • T1574 — Hijack Execution Flow (Defense Evasion)
  • T1562.001 — Impair Defenses: Disable or Modify Tools (Defense Evasion)

IOC

  • CVEs : CVE-2026-8452NVD · CIRCL
  • Fichiers : x.php
  • Fichiers : nsppe
  • Chemins : /var/vpn/theme/x.php
  • Chemins : /bin/sh

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 14 août 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • PHP webshell (backdoor)

🟢 Indice de vérification factuelle : 75/100 (haute)

  • ✅ labs.watchtowr.com — source reconnue (liste interne) (20pts)
  • ✅ 26379 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 5 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 6 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ✅ 1/1 CVE(s) confirmée(s) (CIRCL) (5pts)

🔗 Source originale : https://labs.watchtowr.com/youre-back-in-the-room-citrix-netscaler-pre-auth-rce-cve-2026-8452/