Sicurezza · 26 ottobre 2026
Scoperta vulnerabilità critica Node2Shell in Node.js con rischio di esecuzione remota di codice
Una grave vulnerabilità di sicurezza denominata Node2Shell è stata identificata nella piattaforma Node.js, esponendo i server web al rischio di esecuzione remota di codice senza necessità di autenticazione. Il team di sviluppo di Node.js ha classificato questa falla come ad alto rischio e ha rilasciato aggiornamenti di sicurezza il ventuno ottobre duemilaventisei per mitigare la minaccia rappresentata dall'identificativo CVE-2026-111497. La problematica risiede specificamente nella funzione di decompressione dei dati che utilizza l'algoritmo Brotli, una tecnologia impiegata per ridurre il volume dei dati scambiati nelle comunicazioni API e nelle pagine web.
Gli attaccanti possono sfruttare questo difetto inviando dati compressi manipolati al server, causando un errore nel decodificatore che scrive dati al di fuori dell'area di memoria consentita. Questa condizione anomala può portare non solo al blocco improvviso del programma server ma anche all'esecuzione di codice maligno da parte di un aggressore remoto. I ricercatori della società di sicurezza Imperva hanno dimostrato la fattibilità pratica di questo attacco riuscendo a eseguire codice remoto in un ambiente reale, confermando la gravità della situazione e la necessità di una risposta immediata da parte degli amministratori di sistema.
L'impatto di questa vulnerabilità si estende oltre gli sviluppatori che utilizzano direttamente le funzioni di compressione Brotli, poiché colpisce anche framework e librerie molto diffusi. In particolare, i servizi web basati sulla versione cinque di Express sono vulnerabili in quanto decomprimono automaticamente le richieste Brotli provenienti dall'esterno. Anche la funzione nativa di recupero dati e alcune librerie di comunicazione come Axios possono esporre i sistemi durante l'elaborazione delle risposte compresse dai server esterni. Di conseguenza, i server che si integrano con API esterne, i sistemi di gestione webhook e i servizi che recuperano dati da URL esterni costituiscono le priorità assolute per le verifiche di sicurezza.
Le versioni corrette di Node.js che includono la patch di sicurezza sono la ventidue punto ventitré punto quattro, la ventiquattro punto ventidue punto uno e la ventisei punto dodici punto uno. Le organizzazioni che utilizzano versioni precedenti a queste devono applicare immediatamente gli aggiornamenti disponibili per proteggere le proprie infrastrutture. Per le versioni di Node.js precedenti alla venti, per le quali il supporto ufficiale è terminato, è necessario verificare la disponibilità di aggiornamenti di sicurezza forniti dai distributori del sistema operativo o da fornitori di supporto a lungo termine e valutare la migrazione verso versioni supportate. Gli operatori possono verificare la versione in uso eseguendo un comando specifico nel terminale del server.
Nel caso in cui l'applicazione della patch risulti complessa nell'immediato, è possibile bloccare temporaneamente le richieste esterne compresse con Brotli, sebbene questa sia considerata solo una misura provvisoria e non una soluzione definitiva. Dopo aver installato gli aggiornamenti, è fondamentale riavviare i processi di Node.js e, negli ambienti basati su container, ridistribuire le immagini aggiornate con le ultime correzioni. È inoltre consigliabile monitorare il sistema alla ricerca di segnali sospetti come un aumento degli errori di decompressione, arresti anomali ricorrenti dei processi server o riavvii ripetuti, che potrebbero indicare tentativi di sfruttamento della vulnerabilità in corso.