🔍 Contexte

Publié le 28 septembre 2026 par Sina Kheirkhah de watchTowr Labs, cet article présente l’analyse technique détaillée de CVE-2026-88771, une vulnérabilité d’injection de commandes pré-authentification affectant Citrix NetScaler ADC et NetScaler Gateway, exploitée activement en zero-day avant la publication de tout correctif.

🧩 Vulnérabilité principale : CVE-2026-88771

  • Type : Injection de commandes (Command Injection) pré-authentification
  • CVSS 4.0 : 9.5 (Critique)
  • Configuration affectée : Configuration par défaut
  • Exploitation in the wild : Confirmée avant tout patch
  • Composant vulnérable : Script Perl ns_monuploadd_err.pl

Le script Perl utilisait des backticks pour exécuter des commandes shell en interpolant directement des données issues des fichiers de logs, sans validation. Un attaquant pouvait injecter une entrée malveillante dans les logs via une requête HTTP (champ login, User-Agent, paramètres de requête), qui était ensuite exécutée en tant que root lors du traitement par le script.

🎯 Mécanisme d’exploitation

  1. L’attaquant envoie une requête POST /nf/auth/doAuthentication.do avec un champ login contenant une charge utile de type : pitboss PPE unexpectedly died NSPPE;id>/var/tmp/watchTowr;# X
  2. Cette entrée est enregistrée dans les logs système de NetScaler
  3. Le script ns_monuploadd_err.pl lit les logs et interpole la valeur dans une commande shell via backticks
  4. Le shell interprète le point-virgule comme séparateur de commandes et exécute la charge utile en root
  5. Le déclenchement peut prendre jusqu’à 24h (exécution planifiée du script), mais une technique de forçage immédiat existe

📋 Autres CVE du bulletin CTX697096

CVE Type CVSS 4.0 Exploité
CVE-2026-88771 Injection de commandes pré-auth 9.5 Oui
CVE-2026-88772 Memory overflow (DTLS, défaut VPN) 9.5 Oui
CVE-2026-88773 HTTP request smuggling 9.3 Non
CVE-2026-88774 Vulnérabilité ADC/Gateway 7.0 Non
CVE-2026-88775/76/77 Memory overflow 8.8 Non
CVE-2026-88778 Valeur prévisible (ISN) 8.8 Non

🛠️ Versions corrigées

  • NetScaler ADC et Gateway 14.1-73.37 et versions ultérieures
  • NetScaler ADC et Gateway 13.1-64.23 et versions ultérieures
  • NetScaler ADC 14.1-FIPS 14.1-73.37 FIPS et versions ultérieures
  • NetScaler ADC 13.1-FIPS et 13.1-NDcPP 13.1-37.279 et versions ultérieures

🔧 Correction technique

Le patch remplace l’interpolation shell par du parsing Perl natif avec une regex stricte (NSPPE-\d{2}) et (\d+), et utilise la forme liste de open pour find afin d’éviter tout passage par /bin/sh. Un filtre de chemin [A-Za-z0-9\/\-.]+ est également appliqué.

📁 Type d’article

Analyse technique de vulnérabilité publiée par watchTowr Labs, incluant preuve de concept, diff de code, artefacts de détection et outil Python public sur GitHub. But principal : documenter la vulnérabilité et fournir des capacités de détection aux défenseurs.

🧠 TTPs et IOCs détectés

TTP

  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1059 — Command and Scripting Interpreter (Execution)
  • T1059.006 — Command and Scripting Interpreter: Python (Execution)
  • T1070.002 — Indicator Removal: Clear Linux or Mac System Logs (Defense Evasion)
  • T1078 — Valid Accounts (Defense Evasion)
  • T1552 — Unsecured Credentials (Credential Access)

IOC

  • CVEs : CVE-2026-88771 — NVD · CIRCL
  • CVEs : CVE-2026-88772 — NVD · CIRCL
  • CVEs : CVE-2026-88773 — NVD · CIRCL
  • CVEs : CVE-2026-88774 — NVD · CIRCL
  • CVEs : CVE-2026-88775 — NVD · CIRCL
  • CVEs : CVE-2026-88776 — NVD · CIRCL
  • CVEs : CVE-2026-88777 — NVD · CIRCL
  • CVEs : CVE-2026-88778 — NVD · CIRCL
  • Fichiers : ns_monuploadd_err.pl
  • Fichiers : watchTowr-vs-Citrix-Netscaler-CVE-2026-88771.py
  • Chemins : /var/tmp/watchTowr
  • Chemins : /netscaler/ns_monuploadd_err.pl
  • Chemins : /var/core

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 28 septembre 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

  • watchTowr-vs-Citrix-Netscaler-CVE-2026-88771.py (tool)

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

  • ✅ labs.watchtowr.com — source reconnue (liste interne) (20pts)
  • ✅ 17703 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 13 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)
  • ✅ 5/5 CVE(s) confirmée(s) (CIRCL) (5pts)

🔗 Source originale : https://labs.watchtowr.com/oh-look-the-foot-gun-went-off-again-citrix-netscaler-preauth-command-injection-cve-2026-88771/