Varnarleysi í hnút-netmaskanum NPM pakkanum sem notaður er í 270 þúsund verkefnum

Node-netmask NPM pakkinn, sem hefur um það bil 3 milljónir niðurhala á viku og er notaður sem háður meira en 270 þúsund verkefnum á GitHub, hefur varnarleysi (CVE-2021-28918) sem gerir honum kleift að komast framhjá athugunum sem nota netmaskann til að ákvarða tilvik til að taka upp svið eða fyrir síun. Málið er lagað í útgáfu hnút-netmaska ​​2.0.0.

Varnarleysið gerir það mögulegt að meðhöndla ytri IP tölu sem vistfang frá innra netinu og öfugt, og með ákveðinni rökfræði um að nota hnút-netmaskareininguna í forritinu til að framkvæma SSRF (Server-side request forgery), RFI (Remote File Inclusion) og LFI (Local File Inclusion) árásir) til að fá aðgang að auðlindum á innra netinu og innihalda ytri eða staðbundnar skrár í framkvæmdarkeðjunni. Vandamálið er að samkvæmt forskriftinni ætti að túlka heimilisfangstrengsgildi sem byrja á núlli sem áttunda tölur, en hnút-netmaskareiningin tekur ekki tillit til þess og meðhöndlar þau sem aukastafi.

Til dæmis gæti árásarmaður óskað eftir staðbundinni auðlind með því að tilgreina gildið "0177.0.0.1", sem samsvarar "127.0.0.1", en "hnút-netmaska" einingin mun henda núllinu og meðhöndla 0177.0.0.1" sem " 177.0.0.1", sem í umsókninni við mat á aðgangsreglum verður ekki hægt að ákvarða auðkenni með "127.0.0.1". Á sama hátt getur árásarmaður tilgreint heimilisfangið „0127.0.0.1“ sem ætti að vera eins og „87.0.0.1“ en verður meðhöndlað sem „127.0.0.1“ í „hnút-netmaska“ einingunni. Á sama hátt geturðu svindlað á ávísuninni fyrir aðgang að innra netföngum með því að tilgreina gildi eins og "012.0.0.1" (jafngildir "10.0.0.1", en verður unnið sem 12.0.0.1 meðan á athugun stendur).

Rannsakendur sem greindu vandamálið kalla vandamálið skelfilegt og gefa upp nokkrar árásaratburðarásir, en flestir þeirra líta út fyrir að vera íhugandi. Til dæmis er talað um möguleikann á því að ráðast á forrit sem byggir á Node.js sem kemur á ytri tengingum til að biðja um auðlind sem byggist á breytum eða gögnum inntaksbeiðnarinnar, en forritið er ekki sérstaklega nefnt eða ítarlegt. Jafnvel ef þú finnur forrit sem hlaða inn auðlindum byggt á innslögðu IP tölunum, þá er ekki alveg ljóst hvernig hægt er að nýta veikleikann í reynd án þess að tengjast staðarneti eða án þess að ná stjórn á „spegla“ IP tölum.

Rannsakendur gera aðeins ráð fyrir að eigendur 87.0.0.1 (Telecom Italia) og 0177.0.0.1 (Brasil Telecom) geti framhjá aðgangstakmörkunum í 127.0.0.1. Raunhæfari atburðarás er að nýta sér varnarleysið til að komast framhjá ýmsum bannlista forritahliðar. Málið er einnig hægt að nota til að deila skilgreiningu innra netsviða í NPM einingunni „private-ip“.

Heimild: opennet.ru

Bæta við athugasemd