Allerta sicurezza Node.js vulnerabilita critiche

Node.js corregge gravi vulnerabilità HTTP/2 e TLS: patch per le versioni 22, 24 e 26

🛡️ Executive Summary

  • Node.js pubblica tre aggiornamenti di sicurezza. Le versioni 22.23.5, 24.22.3 e 26.13.1 correggono vulnerabilità di gravità fino a High.
  • HTTP/2 e TLS concentrano i problemi più pericolosi. Le falle possono provocare crash remoti, perdita di memoria, divulgazione di dati sensibili e bypass dell’autenticazione mTLS.
  • Le applicazioni esposte devono essere aggiornate. Il rischio effettivo dipende dalle API utilizzate, dalla configurazione TLS e dalle funzionalità HTTP/2 abilitate.

Node.js ha pubblicato l’11 novembre 2026 tre aggiornamenti di sicurezza che correggono numerose vulnerabilità nei protocolli HTTP/2 e TLS, con conseguenze potenzialmente gravi per server web, API e applicazioni aziendali. Le versioni corrette sono Node.js 22.23.5, 24.22.3 e 26.13.1, tutte appartenenti ai rami supportati del runtime JavaScript. I problemi riguardano principalmente gestione della memoria, terminazione delle connessioni, autenticazione tramite certificati e trattamento dei dati sensibili. In diversi scenari un attaccante remoto non autenticato può provocare l’interruzione del servizio, mentre altre condizioni permettono di leggere porzioni di memoria o superare controlli di autenticazione. Il progetto classifica le vulnerabilità più gravi come High. Le nuove patch arrivano poche settimane dopo quelle di ottobre, quando Node.js aveva corretto una vulnerabilità nel decoder Brotli con potenziale esecuzione remota di codice.

Node.js 22.23.5, 24.22.3 e 26.13.1 correggono le vulnerabilità di novembre

Annuncio

L’avviso ufficiale di sicurezza pubblicato dal progetto Node.js annuncia aggiornamenti per tutte le linee supportate, mentre le note delle release confermano la distribuzione dei pacchetti. Le nuove versioni sono 22.23.5, 24.22.3 e 26.13.1, disponibili dall’11 novembre per i principali sistemi operativi. Le correzioni interessano componenti interni del runtime e dipendenze utilizzate per gestire richieste HTTP, connessioni cifrate e database SQLite. Le note della versione 24.22.3 documentano inoltre aggiornamenti a llhttp 9.4.4, SQLite 3.54.1, Undici 7.30.2 e Brotli 1.2.1. Non tutte le vulnerabilità hanno lo stesso impatto su ciascuna linea: alcune interessano contemporaneamente i tre rami, mentre altre riguardano soprattutto Node.js 24 e 26. Le release End-of-Life rimangono fuori dal normale ciclo di manutenzione e richiedono una migrazione verso versioni supportate.

CVE-2026-123864 espone memoria attraverso richieste HTTPS

Una delle vulnerabilità più delicate è CVE-2026-123864, classificata High, che riguarda la gestione delle richieste HTTPS. Una condizione di rientro nell’esecuzione del parser HTTP può provocare una use-after-free e una lettura fuori dai limiti della memoria heap. In determinate applicazioni, un client remoto non autenticato potrebbe ottenere contenuti appartenenti ad altre connessioni, comprese richieste di altri utenti e informazioni sensibili presenti nella memoria del processo. Il problema si manifesta quando un gestore HTTP richiama specifiche operazioni di risposta mentre il corpo della richiesta è ancora in elaborazione. Non interessa indistintamente qualsiasi server Node.js e non coinvolge il semplice traffico HTTP non cifrato gestito da node:http. La criticità riguarda piuttosto le applicazioni HTTPS che utilizzano il percorso vulnerabile. Il rischio di esposizione dei dati introduce una dimensione differente rispetto agli attacchi che si limitano a interrompere il servizio.

Leggi anche: Node2Shell entra nel catalogo KEV della CISA: patch urgenti per il decoder Brotli

HTTP/2 permette crash remoti e divulgazione di dati dalla memoria

Diverse vulnerabilità riguardano direttamente il ciclo di vita delle sessioni HTTP/2. CVE-2026-123863 consente di provocare un arresto del processo durante la distruzione di una sessione, a causa di una gestione non corretta delle risorse ancora associate agli stream. CVE-2026-123865 introduce invece il rischio di un consumo persistente di memoria e descrittori di file quando una connessione entra in una particolare condizione di chiusura: il server può conservare risorse che avrebbero dovuto essere liberate, favorendo un denial of service.

Ancora più delicata è CVE-2026-123866, una use-after-free che può determinare l’invio al client di porzioni di memoria precedentemente liberate, potenzialmente contenenti informazioni provenienti da altre risposte. CVE-2026-123874 riguarda invece gli stream utilizzati per trasferire file attraverso respondWithFile() e respondWithFD(), con possibilità di corruzione della memoria quando una scrittura rimane in sospeso durante la chiusura. Queste vulnerabilità si inseriscono in una serie di problemi che hanno interessato i protocolli web nel corso del 2026, compresa la falla HTTP/2 capace di trasformare il consumo delle risorse in un attacco contro i server.

TLS 1.2 e mTLS espongono a bypass dell’autenticazione

CVE-2026-123872 riguarda una debolezza particolarmente significativa nella gestione delle connessioni TLS e dell’autenticazione tramite certificati client. In determinate configurazioni, un client autenticato per un hostname può utilizzare la rinegoziazione TLS 1.2 per cambiare il nome del server associato alla connessione e raggiungere servizi che prevedono controlli più restrittivi. Il rischio coinvolge soprattutto sistemi che applicano politiche mTLS differenti a seconda del dominio. La vulnerabilità permette quindi un possibile bypass dei confini di autenticazione previsti dall’applicazione, senza che questo equivalga a un accesso indiscriminato a qualsiasi servizio Node.js.

Un secondo problema, CVE-2026-126051, interessa invece specifici callback utilizzati durante l’handshake TLS nei rami 24 e 26: un attaccante remoto può provocare un’eccezione non gestita e terminare il processo. Le correzioni comprendono anche CVE-2026-123867, relativa alla selezione delle autorità di certificazione nei contesti SNI, e CVE-2026-123877, che riguarda il riutilizzo delle sessioni TLS con politiche di validazione differenti. Il punto comune è la necessità di mantenere separati i contesti di fiducia, evitando che una connessione già autenticata erediti autorizzazioni non previste.

Corretti anche errori nei log, nei permessi e nella compressione

La tornata di sicurezza comprende vulnerabilità di gravità inferiore, ma comunque rilevanti in ambienti produttivi. CVE-2026-123871 riguarda la possibile esposizione delle credenziali dei proxy attraverso messaggi di errore ERR_PROXY_INVALID_CONFIG, che possono essere raccolti nei log applicativi e nei sistemi centralizzati di monitoraggio. Altre correzioni coinvolgono il Permission Model, con problemi nella gestione dei permessi sul filesystem e nella visibilità dei nomi dei file durante il monitoraggio ricorsivo delle directory. CVE-2026-123862 interessa invece l’interazione tra compressione zlib e distruzione degli stream, con un’eccezione interna capace di provocare il crash del processo in condizioni specifiche. Sono difetti diversi, ma condividono una caratteristica: componenti apparentemente secondari possono compromettere riservatezza e disponibilità quando vengono utilizzati in servizi accessibili dalla rete.

Continua con: Node.js e Brotli, una falla di memoria può diventare esecuzione remota di codice

Aggiornare Node.js non basta se i servizi utilizzano runtime incorporati

Gli amministratori devono verificare quale versione di Node.js sia effettivamente utilizzata dalle applicazioni, non soltanto quella installata globalmente sul server. Container, immagini Docker, applicazioni distribuite con runtime incorporato e servizi gestiti attraverso differenti toolchain possono continuare a utilizzare versioni vulnerabili anche dopo un aggiornamento del sistema operativo. Le release corrette sono disponibili attraverso il sito ufficiale Node.js e richiedono, dove necessario, la ricostruzione delle immagini e il riavvio dei processi applicativi. I team dovrebbero dare priorità ai servizi che espongono HTTP/2, HTTPS e autenticazione mTLS, verificando il funzionamento delle applicazioni dopo la distribuzione delle patch. Le nuove vulnerabilità non dimostrano automaticamente compromissioni già avvenute, ma rendono necessario intervenire su un runtime utilizzato da infrastrutture web, API e applicazioni aziendali. Le versioni 22.23.5, 24.22.3 e 26.13.1 rappresentano il riferimento per chiudere le falle corrette l’11 novembre 2026.

Iscriviti alla Newsletter

Non perdere le analisi settimanali: Entra nella Matrice Digitale.

Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.

Torna in alto