Schwachstelle am Node-Nettmask NPM Package benotzt an 270 Tausend Projeten

Den Node-Netmaske NPM Package, deen ongeféier 3 Milliounen Downloads pro Woch huet an als Ofhängegkeet vu méi wéi 270 Tausend Projeten op GitHub benotzt gëtt, huet eng Schwachstelle (CVE-2021-28918) déi et erlaabt d'Kontrollen ze ëmgoen déi d'Netmask benotzen fir d'Optriede fir Adressberäicher ze bestëmmen oder fir ze filteren. De Problem ass an der Verëffentlechung vum Node-Netmask 2.0.0 fixéiert.

D'Vulnerabilitéit mécht et méiglech eng extern IP Adress als Adress aus dem internen Netzwierk ze behandelen a vice-versa, a mat enger gewësser Logik fir den Node-Netmask Modul an der Applikatioun ze benotzen fir SSRF (Server-Side-Ufro-Fälschung), RFI auszeféieren. (Remote File Inclusioun) an LFI (Local File Inclusion) Attacken) fir Zougang zu Ressourcen am internen Netz ze kréien an extern oder lokal Dateien an der Ausféierungskette enthalen. De Problem ass datt laut der Spezifizéierung Adress String Wäerter, déi mat enger Null ufänken, sollten als oktal Zuelen interpretéiert ginn, awer de Node-Nettmask Modul hëlt dëst net berücksichtegt a behandelt se als Dezimalzuelen.

Zum Beispill, en Ugräifer kéint eng lokal Ressource ufroen andeems Dir de Wäert "0177.0.0.1" spezifizéiert, deen dem "127.0.0.1" entsprécht, awer de "Node-Netmaske" Modul wäert den Null entwerfen, a behandelt 0177.0.0.1" als " 177.0.0.1", wat an der Applikatioun wann Dir Zougangsregelen evaluéiert, et net méiglech ass d'Identitéit mat "127.0.0.1" ze bestëmmen. Ähnlech kann en Ugräifer d'Adress "0127.0.0.1" spezifizéieren, déi identesch mat "87.0.0.1" soll sinn, awer als "127.0.0.1" am Modul "Node-Netmaske" behandelt ginn. Ähnlech kënnt Dir de Scheck fir Zougang zu Intranetadressen fuddelen andeems Dir Wäerter spezifizéiert wéi "012.0.0.1" (entspriechend "10.0.0.1", awer gëtt als 12.0.0.1 während der Kontroll veraarbecht).

D'Fuerscher, déi de Problem identifizéiert hunn, nennen en katastrophal a nennen e puer Attackszenarien, awer déi meescht dovunner schéngen spekulativ ze sinn. Zum Beispill ernimmen si d'Méiglechkeet, eng Node.js-baséiert Applikatioun unzegräifen, déi extern Verbindungen opbaut, fir eng Ressource op Basis vu Parameteren oder Input-Ufrodaten unzefroen, awer si nennen net déi spezifesch Applikatioun a ginn keng Detailer. Och wann si Applikatioune fannen, déi Ressourcen op Basis vun Input eroflueden. IP-Adressen, ass et net ganz kloer, wéi d'Schwachstelle an der Praxis ausgenotzt ka ginn, ouni sech mat engem lokalen Netzwierk ze verbannen oder ouni d'Kontroll iwwer "gespigelt" IP-Adressen ze kréien.

D'Fuerscher huelen nëmmen un datt d'Besëtzer vun 87.0.0.1 (Telecom Italia) an 0177.0.0.1 (Brasil Telecom) fäeg sinn den Zougangsbeschränkung op 127.0.0.1 ëmzegoen. E méi realistesche Szenario ass d'Schwachheet auszenotzen fir verschidde Applikatiounssäit Blocklëschten ze ëmgoen. D'Thema kann och applizéiert ginn fir Intranetberäichdefinitiounen am NPM Modul "privat-ip" ze deelen.

Source: opennet.ru

Kaaft zouverlässeg Hosting fir Site mat DDoS Schutz, VPS VDS Server 🔥 Kaaft zouverléissegt Websäithosting mat DDoS-Schutz, VPS VDS Server | ProHoster