Kwetsbaarheid in de http2-module van Node.js

De ontwikkelaars van het server-side JavaScript-platform Node.js hebben corrigerende releases 12.22.4, 14.17.4 en 16.6.0 gepubliceerd, die een kwetsbaarheid (CVE-2021-22930) in de http2-module (HTTP/2.0-client) gedeeltelijk verhelpen , waarmee u een procescrash kunt initiëren of mogelijk de uitvoering van uw code in het systeem kunt organiseren wanneer u toegang krijgt tot een host die wordt beheerd door de aanvaller.

Het probleem wordt veroorzaakt door toegang te krijgen tot reeds vrijgemaakt geheugen bij het sluiten van een verbinding na ontvangst van RST_STREAM-frames (thread reset) voor threads die intensieve leesbewerkingen uitvoeren die schrijfbewerkingen blokkeren. Als een RST_STREAM-frame wordt ontvangen zonder een foutcode op te geven, roept de http2-module bovendien een opschoonprocedure aan voor reeds ontvangen gegevens, van waaruit de sluitingshandler opnieuw wordt aangeroepen voor de reeds gesloten stroom, wat leidt tot het dubbel vrijmaken van datastructuren.

In de patchdiscussie wordt opgemerkt dat het probleem nog niet volledig is opgelost en, onder licht gewijzigde omstandigheden, nog steeds voorkomt in gepubliceerde updates. Uit de analyse bleek dat de oplossing slechts één van de speciale gevallen dekt: wanneer de thread zich in de leesmodus bevindt, maar geen rekening houdt met andere threadstatussen (lezen en pauzeren, pauzeren en sommige soorten schrijven).

Bron: opennet.ru

Voeg een reactie