← Blog
Citrix NetScalerZero-day RCECISA KEVAppliance perimetrale

NetScaler CVE-2026-88771/88772: due zero-day RCE sfruttati prima della patch

Due zero-day RCE non autenticati in NetScaler, CVE-2026-88771/88772, sfruttati prima della patch. Build corrette, IOC e perché i log non ti scagionano.

Zero Hunt Research··9 min di lettura

Nel fine settimana del 26–27 settembre fornitori IT e agenzie cyber nazionali hanno iniziato a chiamare le organizzazioni con un'istruzione secca: spegnete i NetScaler. L'olandese NCSC-NL ha pre-notificato le organizzazioni dei Paesi Bassi prima di qualsiasi avviso pubblico, dopo aver trovato intrusioni attive durante indagini presso i clienti. Il 27 settembre Citrix ha pubblicato il bollettino di sicurezza CTX697096 rilasciando patch per otto CVE — e ha confermato che due di esse erano già sfruttate come zero-day, senza alcun workaround. CISA le ha aggiunte lo stesso giorno al catalogo delle Known Exploited Vulnerabilities.

È la quarta emergenza NetScaler dell'anno, e lo schema ormai si conosce: un'appliance esposta su internet che sta davanti a tutto riceve un bug non autenticato, qualcuno lo trasforma in arma prima che il vendor rilasci una correzione, e chi applica la patch lunedì continua a non sapere se è stato violato sabato.

Cosa rompono davvero i due zero-day RCE su NetScaler

I due segnalati nella KEV stanno in cima al bollettino:

  • CVE-2026-88771 — un errore di validazione dell'input che consente a un attaccante non autenticato di eseguire comandi arbitrari sull'appliance. Secondo l'analisi di watchTowr colpisce ogni deployment di NetScaler ADC e NetScaler Gateway su una versione affetta, configurazione predefinita compresa — non serve abilitare alcuna funzione. Punteggio CVSS 4.0: 9.5.
  • CVE-2026-88772 — un memory buffer overflow raggiungibile via rete, che porta a esecuzione di codice remoto o denial of service quando DTLS è attivo. Poiché DTLS è abilitato di default sui virtual server VPN, la maggior parte dei deployment NetScaler Gateway soddisfa la precondizione, a meno che un amministratore non l'abbia disattivato esplicitamente. CVSS 4.0: 9.5.

Il bollettino in realtà corregge da CVE-2026-88771 a CVE-2026-88778 — altri sei bug tra 7.0 e 9.3. Trattate l'intero pacchetto come un unico aggiornamento; i due sfruttati sono la ragione per cui non potete aspettare una finestra di manutenzione.

Nessuno dei due è un bug di divulgazione di memoria o di replay di sessione come la famiglia CitrixBleed che ha dominato le emergenze NetScaler precedenti quest'anno. Qui si parla di esecuzione di codice diretta e non autenticata sull'appliance. Quando la scatola che termina la VPN e sta davanti alle applicazioni pubblicate esegue comandi scelti dall'attaccante, non esiste una versione "raggio d'azione limitato" della storia.

Sfruttati prima della patch: la finestra che si è già chiusa

La sequenza conta, perché decide che aspetto avrà la vostra timeline di incidente:

Data Evento
~26 set watchTowr avverte pubblicamente di RCE NetScaler non patchate e sotto sfruttamento attivo
26–27 set Fornitori e CERT dicono privatamente ai clienti di spegnere le appliance
27 set Citrix rilascia CTX697096; conferma lo sfruttamento di 88771/88772 come zero-day
27 set CISA aggiunge le CVE al catalogo KEV

"Sfruttato come zero-day" è un'affermazione precisa, non un artificio da titolo. Significa che gli attacchi precedono la correzione — quindi, nel momento in cui installate l'aggiornamento, chiudete la porta, ma dalla sola patch non avete idea se qualcuno fosse già in piedi dentro la stanza. Citrix ha fornito l'aggiornamento; non ha fornito un modo per riavvolgere il tempo.

NetScaler si merita questo trattamento ricorrente per un motivo strutturale. È una delle appliance di accesso remoto e bilanciamento più diffuse su internet, è non autenticata al proprio perimetro per progettazione, e ha una lunga genealogia di bug pre-auth — la fuga di token di sessione CitrixBleed del 2023, una lettura di memoria out-of-bounds lo stesso anno, un bypass di autenticazione patchato appena il mese scorso. Gli attaccanti tornano perché il premio (un punto d'appoggio davanti all'intero parco) è enorme e la superficie continua a produrre.

Perché un NetScaler patchato non è ancora un NetScaler pulito

Ecco la parte che la maggior parte degli articoli salta, ed è quella che deciderà se questo diventa una violazione o un incidente contenuto. Da The Hacker News: "installare l'aggiornamento non mostrerà se un attaccante è entrato per primo". La stessa guida di CISA è di preservare le prove forensi prima di aggiornare — log, uno snapshot della configurazione, un support bundle, un core dump — perché l'aggiornamento stesso può cancellare le prove.

"Abbiamo patchato in poche ore. Siamo puliti." "Avete patchato. Non è la stessa frase. Avete estratto un core dump prima, o l'upgrade lo ha sovrascritto?"

Citrix distribuisce uno scanner di IOC nella pagina Security Advisory della NetScaler Console, ed è giusto eseguirlo. Ma watchTowr è esplicito: "non copre ogni tecnica, quindi un risultato pulito non è una prova". E una volta che un attaccante ha l'esecuzione di codice come l'appliance, i log dell'appliance diventano un documento scritto dall'avversario — la scatola che ha registrato l'intrusione è la stessa che l'intruso ora controlla. È la lezione CitrixBleed che si ripete: in quegli incidenti gli attaccanti cancellavano i log e riusavano sessioni rubate, e i difensori che si fidavano della telemetria on-appliance non se ne accorgevano. L'unico testimone che un attaccante non può modificare è il traffico che ha già lasciato il filo.

Remediation

Trattate ogni NetScaler esposto su internet come presunto bersaglio finché non avete dimostrato il contrario. Seguite i passi nell'ordine — la conservazione delle prove viene prima della patch, non dopo.

1. Sono affetto?

  • Sulla CLI di NetScaler, eseguite show ns version. Siete esposti se siete su una build 14.1 inferiore a 14.1-73.37, o su una build 13.1 inferiore a 13.1-64.23 (e le corrispondenti build FIPS/NDcPP inferiori).
  • Verificate se l'appliance è raggiungibile da internet e se è associato un virtual server Gateway o AAA — CVE-2026-88771 non richiede alcuna funzione simile, quindi un piano di management o VPX raggiungibile da internet è sufficiente.
  • Per CVE-2026-88772, confermate lo stato di DTLS sui vostri vserver VPN (show vpn vserver); è abilitato di default.
  • 12.1 e 13.0 sono a fine vita e non ricevono correzioni. Se siete ancora su queste versioni, siete non patchabili — migrate, non aspettate.

2. Patch — build corrette esatte (da CTX697096)

Ramo Build corretta
14.1 14.1-73.37 o successive
13.1 13.1-64.23 o successive
14.1-FIPS 14.1-73.37 FIPS o successive
13.1-FIPS / 13.1-NDcPP 13.1-37.279 o successive

Non saltate la cattura delle prove del passo 4 prima di applicare tutto questo.

3. Non potete patchare subito? Controlli compensativi

  • Riducete l'esposizione internet dell'appliance dove operativamente possibile — è la guida provvisoria di Citrix — finché non potete aggiornare.
  • Limitate l'interfaccia di management a una rete di gestione dedicata; non avrebbe mai dovuto essere raggiungibile da internet.
  • Per CVE-2026-88772 in particolare, disabilitate DTLS sui virtual server VPN dove non vi serve.
  • Un WAF o un reverse proxy a monte può portare una virtual patch per il vettore di validazione input, ma trattatelo come un dosso, non come una correzione — per 88771 non c'è un vero workaround, solo la patch.

4. Cacciate la compromissione (fatelo prima di aggiornare)

  • Catturate prima lo stato forense: log, uno snapshot della configurazione, un technical support bundle e un core dump. L'upgrade può distruggerli tutti.
  • Eseguite lo scanner IOC di Citrix dalla NetScaler Console — ma un risultato pulito non è un via libera.
  • Cercate: file e processi shell inattesi sull'appliance, processi figli anomali del packet engine o di httpd, nuove voci cron, modifiche inspiegate a ns.conf, e connessioni in uscita verso destinazioni mai viste prima (MITRE ATT&CK T1190 accesso iniziale, T1505.003 web shell, T1070.002 cancellazione log).
  • Cacciate il riuso di token di sessione da nuove geolocalizzazioni o ASN — lo schema di riuso CitrixBleed (T1550.004, web session cookie) — nel vostro identity provider e nei log delle applicazioni a valle, non solo sull'appliance.

5. Eradicate + verificate

  • Se trovate un qualsiasi indicatore, assumete che l'appliance sia completamente compromessa e ricostruite da un'immagine nota-buona invece di pulire sul posto. Un'appliance con root non può pulire sé stessa in modo affidabile.
  • Ruotate ogni segreto che ha toccato la scatola: le credenziali AD/LDAP con cui il Gateway si autentica, le chiavi di sessione, il certificato server TLS e la chiave privata, e qualsiasi chiave API salvata sull'appliance.
  • Invalidate tutte le sessioni attive e forzate la riautenticazione.
  • Dopo la patch, riverificate con un test di sfruttamento indipendente che la correzione tenga davvero sulla vostra build e topologia — non solo che la stringa di versione sia cambiata.

Dove un red team autonomo cambia questo problema specifico

Guardate cosa l'aggiornamento davvero non poteva dirvi: se un attaccante avesse raggiunto il percorso vulnerabile sulla vostra build e configurazione specifiche, e se la vostra patch l'avesse davvero chiuso. Un CVSS 9.5 misura il bug in astratto; non dice nulla sulla vostra appliance. E durante la finestra zero-day non esisteva alcun proof-of-concept pubblico con cui testare — lo sfruttamento avveniva proprio perché un exploit funzionante esisteva solo nelle mani dell'attaccante.

Quel divario è dove un red team AI autonomo che gira on-premise sui propri modelli privati si guadagna il posto. Lo swarm di 10 agenti di Zero Hunt — Recon, Exploit, Web, Pivot e gli altri — scrive un exploit per-target con un LLM locale invece di cercare un PoC pubblico che non esiste ancora, lo backtesta nell'AI Gym prima che tocchi la produzione, e riesegue la prova dopo che avete patchato per rispondere all'unica domanda che la stringa di versione non può: la correzione ha davvero tenuto su questa scatola. Poiché le campagne sono change-triggered, un'appliance appena esposta attira una campagna completa entro un'ora, e ogni finding è firmato Ed25519 e concatenato in hash al momento della scrittura.

La metà rilevativa si appoggia sul fatto che l'appliance è inaffidabile una volta compromessa — lo stesso motivo per cui CISA vi dice di preservare le prove prima di aggiornare, e lo stesso motivo per cui i log on-box hanno mancato le intrusioni CitrixBleed. Quando la scatola che ha registrato l'attacco è la scatola che l'attaccante controlla, il filo è l'unico testimone onesto. Il modello di AI Traffic Analysis di Zero Hunt — quattro teste di inferenza addestrate su miliardi di sequenze PCAP, in esecuzione sulla GPU dell'appliance senza che alcun dato lasci il sito — legge il beacon post-sfruttamento verso un ASN mai visto e l'egress anomalo da un dispositivo che dovrebbe solo fare da proxy, mentre accade e non nel digest SIEM del mattino dopo.

E poiché NetScaler sta davanti ad applicazioni regolamentate, una compromissione qui è un evento di notifica NIS2 Articolo 23 e DORA su un orologio che parte da quando venite a conoscenza. La mappatura continua di ogni scansione, finding e remediation sui 34 framework — con report firmati ECDSA e ogni record firmato al momento della scrittura — trasforma "dimostrate che stavate testando questa release e che avreste rilevato l'intrusione" da una corsa affannosa tra log sovrascritti a un bundle firmato che precede la domanda dell'auditor. Il pentest annuale non può fare quell'affermazione; la validazione continua sì.

Se il vostro ultimo spavento NetScaler è stato CitrixBleed 3 e questo sembra identico, è esattamente il punto — la classe di appliance non sta diventando più sicura, e l'intervallo tra "patch rilasciata" e "patch già troppo tardi" continua a ridursi. Parlate con noi del test del vostro perimetro secondo l'agenda dell'attaccante, non quella dell'auditor.

È sfruttabile nel tuo ambiente?

Zero Hunt lo verifica sulla tua rete: un red team AI autonomo su un'appliance on-premise, con AI privata, in black box o gray box e con una persona che approva ogni passo che conta. La prova di cosa è sfruttabile, la correzione e le evidenze firmate — nessun dato esce dal tuo perimetro.