Ranljivost v modulu http2 iz Node.js

Razvijalci strežniške JavaScript platforme Node.js so objavili popravne izdaje 12.22.4, 14.17.4 in 16.6.0, ki delno popravljajo ranljivost (CVE-2021-22930) v modulu http2 (HTTP/2.0 client) , ki omogoča sprožitev zrušitve procesa ali morebitno organizacijo izvajanja vaše kode v sistemu pri dostopu do gostitelja, ki ga nadzoruje napadalec.

Težavo povzroča dostop do že sproščenega pomnilnika pri zapiranju povezave po prejemu okvirjev RST_STREAM (ponastavitev niti) za niti, ki izvajajo intenzivne operacije branja, ki blokirajo pisanje. Če je okvir RST_STREAM prejet brez navedbe kode napake, modul http2 dodatno pokliče proceduro čiščenja že prejetih podatkov, iz katere se za že zaprt tok ponovno pokliče obravnavalec zaprtja, kar povzroči dvojno osvobajanje podatkovnih struktur.

Razprava o popravku ugotavlja, da težava ni popolnoma odpravljena in se pod nekoliko spremenjenimi pogoji še naprej pojavlja v objavljenih posodobitvah. Analiza je pokazala, da popravek pokriva le enega od posebnih primerov - ko je nit v načinu branja, ne upošteva pa drugih stanj niti (branje in premor, premor in nekatere vrste pisanja).

Vir: opennet.ru

Dodaj komentar