Vulnerabilitatea în modulul http2 din Node.js

Dezvoltatorii platformei JavaScript de pe serverul Node.js au publicat versiunile corective 12.22.4, 14.17.4 și 16.6.0, care corectează parțial o vulnerabilitate (CVE-2021-22930) în modulul http2 (client HTTP/2.0) , care permite inițierea unui blocaj de proces sau eventual organizarea execuției codului dvs. în sistem atunci când accesați o gazdă controlată de atacator.

Problema este cauzată de accesarea memoriei deja eliberate la închiderea unei conexiuni după primirea cadrelor RST_STREAM (resetare fir) pentru firele de execuție care efectuează operațiuni intensive de citire care blochează scrierile. Dacă un cadru RST_STREAM este primit fără a specifica un cod de eroare, modulul http2 apelează suplimentar o procedură de curățare a datelor deja primite, de la care handlerul de închidere este apelat din nou pentru fluxul deja închis, ceea ce duce la dubla eliberare a structurilor de date.

Discuția de corecție notează că problema nu este complet rezolvată și, în condiții ușor modificate, continuă să apară în actualizările publicate. Analiza a arătat că remedierea acoperă doar unul dintre cazurile speciale - când firul este în modul citire, dar nu ia în considerare alte stări ale firului (citire și pauză, pauză și unele tipuri de scriere).

Sursa: opennet.ru

Adauga un comentariu