Udviklerne af serverbaserede JavaScript-platform Node.js har offentliggjort korrigerende versioner 12.22.4, 14.17.4 og 16.6.0, hvor en sårbarhed (CVE-2021-22930) i http2-modulet (HTTP/2.0 klient) delvist er blevet løst, hvilket potentielt kunne forårsage en nedbrud af processen eller muliggøre eksekvering af ondsindet kode på systemet ved at kontakte et styret fjendtligt vært.
Problemet skyldes adgang til et allerede frigivet hukommelsesområde, når forbindelsen lukkes efter modtagelse af RST_STREAM-rammer (stream reset) for strømme, hvor der udføres intensive læseoperationer, der blokerer for skrivning. Hvis der modtages en RST_STREAM-ramme uden fejlKode, kalder http2-modulet yderligere en oprydningsprocedure for allerede modtagne data, hvorefter lukkehandleren genkaldtes for den allerede lukkede strøm, hvilket fører til en dobbelt frigivelse af datakonstruktionerne.
I diskussionen om rettelsen bemærkes det, at problemet ikke er løst fuldstændigt og fortsat viser sig under lidt ændrede betingelser i de offentliggjorte opdateringer. Undersøgelsen viste, at rettelsen kun dæmper et specifikt tilfælde – når strømmen er i læsetilstand, men ikke tager hensyn til andre strømtilstande (læse og pause, pause og visse former for skrivning).
Kilde: opennet.ru
