Уразлівасць у http2-модулі са складу Node.js

Распрацоўнікі сервернай JavaScript-платформы Node.js апублікавалі якія карэктуюць выпускі 12.22.4, 14.17.4 і 16.6.0, у якіх часткова ўхіленая ўразлівасць (CVE-2021-22930) у модулі http2 (кліент HTTP/2.0), позво патэнцыйна арганізаваць выкананне свайго кода ў сістэме пры звароце да падкантрольнага зламысніку хасту.

Праблема выклікана зваротам да ўжо вызваленай вобласці памяці пры зачыненні злучэння пасля атрымання кадраў RST_STREAM (скід струменя) для струменяў, у якіх выконваюцца інтэнсіўныя аперацыі чытання, якія блакуюць запіс. У выпадку атрымання кадра RST_STREAM без указання кода памылкі модуль http2 дадаткова выклікае працэдуру ачысткі ўжо атрыманых дадзеных, з якой для ўжо зачыненага струменя паўторна выклікаецца апрацоўшчык зачынення, што прыводзіць да падвойнага вызвалення структур дадзеных.

У абмеркаванні выпраўлення адзначаецца, што праблема ўхіленая не цалкам і пры трохі змененых умовах працягвае выяўляецца ў апублікаваных абнаўленнях. Разбор паказаў, што выпраўленне закрывае толькі адзін з прыватных выпадкаў - калі паток знаходзіцца ў рэжыме чытання, але не ўлічвае іншыя станы патоку (чытанне і прыпыненне, прыпыненне і некаторыя віды запісу).

Крыніца: opennet.ru

Дадаць каментар