Vývojári serverovej platformy JavaScript Node.js publikovali opravy verzií 12.22.4, 14.17.4 a 16.6.0, v ktorých čiastočne odstránili zraniteľnosť (CVE-2021-22930) v module http2 (HTTP/2.0 klient), ktorá umožňuje iniciovať pád procesu alebo potenciálne spustiť svoj kód v systéme pri kontaktovaní hostiteľa kontrolovaného útočníkom.
Problém bol spôsobený prístupom k už uvoľnenej oblasti pamäte pri uzatváraní spojenia po prijatí rámcov RST_STREAM (reset prúdu) pre prúdy, v ktorých sa vykonávajú intenzívne operácie čítania, blokujúce zápis. V prípade prijatia rámca RST_STREAM bez uvedenia kódu chyby modul http2 navyše vyvoláva čistiacu procedúru už prijatých dát, pričom pre už uzavretý prúd je znova vyvolaný spracovateľ uzatvorenia, čo vedie k dvojnásobnému uvoľneniu dátových štruktúr.
V diskusii o oprave sa uvádza, že problém nebol úplne odstránený a pri mierne pozmenených podmienkach sa aj naďalej prejavuje v publikovaných aktualizáciách. Analýza ukázala, že oprava uzatvára iba jeden z špecifických prípadov — keď je prúd v režime čítania, ale nezohľadňuje iné stavy prúdu (čítanie a pozastavenie, pozastavenie a niektoré druhy zápisu).
Zdroj: opennet.ru
