Netcrook Logo
👤 KERNELWATCHER
🗓️ 14 Jan 2026  

Node.js sotto attacco: una falla critica in async_hooks mette a rischio crash improvvisi dei server globali

Una vulnerabilità appena divulgata in async_hooks di Node.js minaccia di mandare offline server in tutto il mondo, mentre i principali framework e gli strumenti APM si affannano per una correzione.

È iniziato, come molti incidenti informatici, con un bug sottile nascosto nell’ombra - uno di quelli capaci di trasformare il normale traffico web nell’incubo di un amministratore di server. Questa settimana, i maintainer di Node.js hanno rilasciato un aggiornamento di sicurezza urgente per correggere una falla che potrebbe consentire agli attaccanti di mandare in crash praticamente qualsiasi server Node.js in produzione in pochi secondi, semplicemente sommergendolo con input ricorsivi. La radice del problema: una vulnerabilità critica nel modulo async_hooks, un componente core utilizzato da framework popolari e strumenti di monitoraggio in tutto il mondo.

Fatti rapidi

  • La vulnerabilità critica (CVE-2025-59466) colpisce le versioni di Node.js dalla 8.x alla 18.x, e fino alle release correnti.
  • Sfruttare il bug può causare overflow dello stack non gestiti, mandando in crash all’istante i server interessati.
  • Async_hooks è ampiamente usato da framework come React Server Components, Next.js e dai principali APM come Datadog e New Relic.
  • Corretto in Node.js 20.20.0, 22.22.0, 24.13.0 e 25.3.0; le versioni precedenti restano vulnerabili e non corrette.
  • Nell’ultima release di sicurezza sono state affrontate anche altre tre falle Node.js ad alta gravità.

La storia della vulnerabilità è un caso di studio su come l’infrastruttura web moderna possa essere abbattuta da un singolo comportamento trascurato. Node.js, spina dorsale di innumerevoli applicazioni web, si affida all’API async_hooks per tracciare le operazioni asincrone - dalla gestione delle richieste HTTP alla gestione delle query al database. Per anni, gli sviluppatori hanno confidato nel fatto che Node.js si riprendesse con grazia dagli overflow dello stack, in genere intercettando gli errori e mantenendo l’operatività anche sotto carichi elevati.

Ma un bug scoperto di recente cambia le regole del gioco. Quando async_hooks è abilitato - un’impostazione predefinita per molti framework e strumenti di monitoraggio - Node.js non riesce a generare un errore intercettabile se input utente non fidati spingono codice ricorsivo abbastanza in profondità da esaurire lo stack. Invece, il processo termina bruscamente con codice 7, senza offrire alcuna possibilità di recupero. Il risultato: una via banale al denial-of-service, poiché gli attaccanti possono mandare ripetutamente in crash i server inviando richieste costruite ad arte che innescano overflow dello stack.

L’impatto è enorme. Async_hooks è alla base di AsyncLocalStorage, un’utility adottata da React Server Components, Next.js e da ogni principale strumento di Application Performance Monitoring (APM). Di conseguenza, quasi ogni deployment moderno di Node.js è a rischio. La correzione del team Node.js, ora disponibile nelle ultime release Long Term Support (LTS) e correnti, garantisce che gli errori di overflow dello stack vengano nuovamente esposti al codice utente, ripristinando una gestione degli errori prevedibile.

Eppure non tutto è risolto. La vulnerabilità resta non corretta nelle versioni più vecchie di Node.js - nello specifico, quelle non più supportate dai maintainer. Gli sviluppatori che eseguono stack legacy restano esposti, senza alcuna correzione ufficiale in arrivo. Nel frattempo, il team Node.js sottolinea che l’esaurimento dello spazio dello stack non è formalmente coperto dalla specifica ECMAScript e che il motore JavaScript V8 sottostante non lo considera un problema di sicurezza. Tuttavia, il rischio nel mondo reale è evidente: intere applicazioni possono essere abbattute da un input semplice, reso arma.

Mentre i difensori si affrettano a patchare i propri sistemi, l’episodio è un monito netto su come le più piccole crepe nel software fondamentale possano propagarsi in tutto il mondo digitale. Nel panorama in continua evoluzione della sicurezza web, vigilanza e risposta rapida restano la nostra prima - e talvolta unica - linea di difesa.

WIKICROOK

  • async_hooks: async_hooks è un’API di Node.js per tracciare e gestire il ciclo di vita delle operazioni asincrone, aiutando gli sviluppatori a fare debug e a monitorare l’esecuzione del codice async.
  • Stack Overflow: Uno stack overflow si verifica quando un programma usa più memoria di stack di quella consentita, potenzialmente permettendo agli attaccanti di mandare in crash o controllare il sistema.
  • Denial: In cybersecurity, denial significa rendere sistemi o servizi non disponibili per gli utenti, spesso tramite attacchi come il Denial-of-Service (DoS) che li inondano di traffico.
  • Application Performance Monitoring (APM): Gli strumenti APM monitorano e gestiscono le prestazioni delle applicazioni, aiutando a rilevare problemi, ottimizzare la velocità e garantire esperienze utente affidabili e di alta qualità.
  • ECMAScript: ECMAScript è la specifica standardizzata del linguaggio di scripting che sta alla base di JavaScript, garantendo coerenza e compatibilità tra browser web e piattaforme.
Node.js async_hooks vulnerability

KERNELWATCHER KERNELWATCHER
Linux Kernel Security Analyst
← Back to news