Sebezhetőség a Node.js http2 moduljában

A Node.js szerveroldali JavaScript platform fejlesztői közzétették a 12.22.4, 14.17.4 és 16.6.0 javító kiadásokat, amelyek részben javítanak egy sebezhetőséget (CVE-2021-22930) a http2 modulban (HTTP/2.0 kliens) , amely lehetővé teszi, hogy folyamatösszeomlást kezdeményezzen, vagy potenciálisan megszervezze a kód végrehajtását a rendszerben, amikor hozzáfér a támadó által vezérelt gazdagéphez.

A problémát az okozza, hogy a már felszabadult memória elérése a kapcsolat lezárásakor, miután RST_STREAM (szál-visszaállítás) kereteket kapott olyan szálak esetében, amelyek intenzív olvasási műveleteket hajtanak végre, és blokkolják az írást. Ha hibakód megadása nélkül érkezik egy RST_STREAM keret, akkor a http2 modul emellett egy tisztítási eljárást is meghív a már fogadott adatokra, amelyből a lezáráskezelő ismét meghívódik a már lezárt adatfolyamra, ami az adatstruktúrák kétszeres felszabadításához vezet.

A javítás megvitatása megjegyzi, hogy a probléma nincs teljesen megoldva, és kissé módosított feltételek mellett továbbra is megjelenik a közzétett frissítésekben. Az elemzés kimutatta, hogy a javítás csak az egyik speciális esetet fedi le - amikor a szál olvasási módban van, de nem veszi figyelembe a többi szálállapotot (olvasás és szünet, szünet és bizonyos típusú írások).

Forrás: opennet.ru

Hozzászólás