CitrixBleed è tornato, e la lezione è più vecchia del bug
CitrixBleed è tornato: inviate a NetScaler un login che non riesce a interpretare e vi restituisce la lettura della propria memoria. Il conteggio dei byte cambia. La forma, credenziali che restano nella memoria di un sistema esposto a Internet, no.
Inviate a NetScaler un login che non riesce a interpretare e farà qualcosa di peggio che rifiutarvi. Legge una porzione della propria memoria e la inserisce in un cookie, consegnandovela. Non vi siete mai autenticati. Era proprio questo il punto.
Il 30 giugno Citrix ha corretto CVE-2026-8451 [1][2], una lettura oltre i limiti della memoria pre-autenticazione in NetScaler ADC e Gateway configurati come identity provider SAML. I ricercatori di @watchtowrcyber l'hanno individuata nel parser XML SAML di NetScaler stesso. Inviate un AuthnRequest con un valore di attributo non terminato e il parser continua a leggere oltre la fine del campo, perché si arresta solo su un byte nullo o su un >, mai sull'interruzione di riga che avrebbe dovuto fermarlo. Qualsiasi cosa risieda nella memoria adiacente torna al mittente, codificata in base64, nel cookie di risposta. Puntatori all'heap. Contenuti dei buffer. Dati di sessione. Frammenti di credenziali attive.
Nessun punto d'appoggio. Nessuna catena. Si pone una domanda incompleta alla porta d'ingresso e questa risponde con la propria RAM.
Gli attaccanti ne hanno colto il valore nell'arco di una notte. Lupovis ha riportato sfruttamento in the wild entro 24 ore dalla patch, prima che la vulnerabilità arrivasse all'elenco delle vulnerabilità note sfruttate della CISA [3][4]. Quella rapidità è l'indizio. Un bug contro un SAML IdP vale la pena di essere armato immediatamente, perché l'IdP è la macchina che decide chi è autenticato su tutto ciò che sta dietro. Fatene trapelare la memoria e state mettendo le mani sui token di sessione che vi permettono di entrare come chi ha già superato il controllo.
Questa è la famiglia di CitrixBleed. L'originale del 2023 faceva trapelare kilobyte e consegnava agli attaccanti token di sessione attivi, che venivano riprodotti dalle proprie macchine: è così che Boeing, ICBC e DP World sono finiti nella storia. Il gateway non ha battuto ciglio, perché un token di sessione valido è un token di sessione valido, indipendentemente da chi lo tiene in mano.
Citrix non è l'unica a essere stata superficiale su questo punto. Qualsiasi appliance che termina l'SSO detiene segreti attivi nella memoria del processo che interpreta input ostile. Questa è l'architettura, non l'errore. E significa che un singolo bug di memoria-safety in qualsiasi punto di quel processo trasforma l'ancora di fiducia in un oracolo di divulgazione. La categoria questa settimana non è diventata più debole. La categoria ha sempre avuto questa forma, e gli attaccanti alla fine ne hanno prezzato il rischio.
Questa è la linea su cui ci fermiamo. Una credenziale non dovrebbe mai trovarsi in forma leggibile dentro un processo esposto a Internet. Se il segreto non si materializza mai in quella memoria, un bug del parser non ha nulla da far trapelare. Un token di sessione dovrebbe essere vincolato alla macchina per cui è stato emesso, così che un frammento disperso sia carta straccia nelle mani di chiunque altro. E il vault che lo contiene dovrebbe essere uno da cui nemmeno il suo stesso operatore possa leggere il testo in chiaro, perché un vault che non riesce a leggere sé stesso non può essere indotto a leggersi a uno sconosciuto.
È su questo che è costruito Clavitor. Credenziali che non vivono dove gira il codice. Token vincolati alla propria macchina. Un vault cieco sui propri contenuti, con una traccia di audit immutabile e fuori dalla macchina (il tipo per cui esiste PCI DSS Req 10) che registra ogni lettura nel momento in cui avviene.
Niente di tutto questo rende CVE-2026-8451 un apocalisse, e vale la pena essere precisi su questo punto. La lettura oltre i limiti si ferma ai byte di controllo, quindi fa uscire pochi byte per richiesta anziché i kilobyte del 2023, e solo quando l'appliance funziona come SAML IdP. I difensori l'hanno individuata in un giorno. Il pericolo non è mai stato il conteggio dei byte di questo singolo bug. È la forma che c'è sotto: mettete credenziali nella memoria della macchina che risponde agli sconosciuti, e ogni bug del parser per i prossimi dieci anni è una fuga di credenziali in attesa del proprio numero CVE. Il conteggio dei byte si muove. La forma no.
Quindi applicate la patch a NetScaler. Poi fermatevi sulla domanda che la patch non tocca: perché c'era qualcosa che valesse la pena di rubare in quella memoria, fin dall'inizio?
Se desiderate l'elenco breve delle regole che un sistema di credenziali non dovrebbe mai infrangere, l'abbiamo messo per iscritto. https://x.com/clavitorai/status/2071121333719625842
Clavitor (@clavitorai) è il credential vault progettato per gli agenti AI, e contro di essi. clavitor.ai
Fonti
[1] watchTowr Labs, "CitrixBleed To Infinity And Beyond: Citrix NetScaler Pre-Auth Memory Overread (CVE-2026-8451)," di Aliz Hammond. @watchtowrcyber
[2] Citrix, bollettino di sicurezza per NetScaler ADC e NetScaler Gateway, CVE-2026-8451 (CVSS 8.8), corretto il 30 giugno 2026. @citrix
[3] Lupovis, sfruttamento in the wild di CVE-2026-8451 rilevato entro 24 ore dalla divulgazione pubblica.
[4] CyberScoop e BleepingComputer, reportage sullo sfruttamento attivo della vulnerabilità di divulgazione di memoria nel SAML di NetScaler.