Zraniteľnosť v module http2 z Node.js

Vývojári platformy JavaScript na strane servera Node.js zverejnili opravné vydania 12.22.4, 14.17.4 a 16.6.0, ktoré čiastočne opravujú zraniteľnosť (CVE-2021-22930) v module http2 (klient HTTP/2.0) , ktorý vám umožňuje iniciovať zlyhanie procesu alebo potenciálne organizovať vykonávanie vášho kódu v systéme pri prístupe k hostiteľovi kontrolovanému útočníkom.

Problém je spôsobený prístupom k už uvoľnenej pamäti pri zatváraní pripojenia po prijatí rámcov RST_STREAM (reset vlákna) pre vlákna, ktoré vykonávajú intenzívne operácie čítania, ktoré blokujú zápisy. Ak je rámec RST_STREAM prijatý bez zadania kódu chyby, modul http2 dodatočne zavolá procedúru čistenia už prijatých údajov, z ktorej sa znova zavolá obslužný program uzavretia pre už uzavretý tok, čo vedie k dvojitému uvoľneniu dátových štruktúr.

Diskusia o oprave poznamenáva, že problém nie je úplne vyriešený a za mierne upravených podmienok sa naďalej objavuje vo zverejnených aktualizáciách. Analýza ukázala, že oprava pokrýva iba jeden zo špeciálnych prípadov – keď je vlákno v režime čítania, ale neberie do úvahy ostatné stavy vlákna (čítanie a pauza, pauza a niektoré typy zápisu).

Zdroj: opennet.ru

Pridať komentár