Vulnerabilità nel modulo http2 di Node.js

Gli sviluppatori della piattaforma JavaScript lato server Node.js hanno pubblicato le versioni correttive 12.22.4, 14.17.4 e 16.6.0, che risolvono parzialmente una vulnerabilità (CVE-2021-22930) nel modulo http2 (client HTTP/2.0) , che consente di avviare un arresto anomalo del processo o potenzialmente organizzare l'esecuzione del codice nel sistema quando si accede a un host controllato dall'aggressore.

Il problema è causato dall'accesso alla memoria già liberata quando si chiude una connessione dopo aver ricevuto frame RST_STREAM (reimpostazione del thread) per i thread che eseguono operazioni di lettura intensive che bloccano le scritture. Se viene ricevuto un frame RST_STREAM senza specificare un codice di errore, il modulo http2 richiama inoltre una procedura di pulizia per i dati già ricevuti, dalla quale viene richiamato nuovamente il gestore di chiusura per il flusso già chiuso, il che porta alla doppia liberazione delle strutture dati.

La discussione sulla patch rileva che il problema non è stato completamente risolto e, in condizioni leggermente modificate, continua ad apparire negli aggiornamenti pubblicati. L'analisi ha mostrato che la correzione copre solo uno dei casi speciali - quando il thread è in modalità di lettura, ma non tiene conto degli altri stati del thread (lettura e pausa, pausa e alcuni tipi di scrittura).

Fonte: opennet.ru

Aggiungi un commento