Уязвимость в http2-модуле из состава Node.js

Programiści platformy serwerowej JavaScript Node.js opublikowali poprawki do wersji 12.22.4, 14.17.4 i 16.6.0, które częściowo eliminują lukę (CVE-2021-22930) w module http2 (klient HTTP/2.0), umożliwiającą inicjowanie awarii procesu lub potencjalne wykonanie własnego kodu w systemie przy połączeniu z kontrolowanym przez napastnika hostem.

Problem wynika z odwołania do już zwolnionego obszaru pamięci podczas zamykania połączenia po odebraniu ramek RST_STREAM (reset strumienia) dla strumieni, w których wykonywane są intensywne operacje odczytu, blokujące zapis. W przypadku otrzymania ramki RST_STREAM bez wskazania kodu błędu, moduł http2 dodatkowo uruchamia procedurę czyszczenia już odebranych danych, z której dla już zamkniętego strumienia ponownie wywoływany jest handler zamknięcia, co prowadzi do podwójnego zwolnienia struktur danych.

W dyskusji dotyczącej poprawki zauważono, że problem nie został całkowicie rozwiązany i przy nieznacznie zmienionych warunkach nadal występuje w opublikowanych aktualizacjach. Analiza wykazała, że poprawka dotyczy tylko jednego z przypadków szczególnych — gdy strumień znajduje się w trybie odczytu, ale nie uwzględnia innych stanów strumienia (czytanie i wstrzymanie, wstrzymanie i niektóre rodzaje zapisu).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster