Kerentanan ing paket NPM node-netmask digunakake ing 270 ewu proyek

Paket NPM node-netmask, sing duwe udakara 3 yuta undhuhan saben minggu lan digunakake minangka ketergantungan ing luwih saka 270 ewu proyek ing GitHub, nduweni kerentanan (CVE-2021-28918) sing ngidini kanggo ngliwati cek sing nggunakake netmask. kanggo nemtokake kedadeyan kanggo alamat kisaran utawa kanggo nyaring. Jeksa Agung bisa ngetokake iki didandani ing release saka node-netmask 2.0.0.

Kerentanan ndadekake bisa nambani alamat IP eksternal minangka alamat saka jaringan internal lan kosok balene, lan kanthi logika tartamtu nggunakake modul node-netmask ing aplikasi kanggo nindakake SSRF (Pemalsuan panyuwunan sisih server), RFI (Remote File Inclusion) lan LFI (Local File Inclusion) serangan ) kanggo ngakses sumber daya ing jaringan internal lan nyakup file eksternal utawa lokal ing rantai eksekusi. Masalahe yaiku miturut spesifikasi, nilai string alamat sing diwiwiti karo nol kudu diinterpretasikake minangka angka oktal, nanging modul node-netmask ora nganggep iki lan dianggep minangka angka desimal.

Contone, panyerang bisa njaluk sumber daya lokal kanthi nemtokake nilai "0177.0.0.1", sing cocog karo "127.0.0.1", nanging modul "node-netmask" bakal ngilangi null, lan nambani 0177.0.0.1β€³ minangka " 177.0.0.1", kang ing aplikasi nalika ngevaluasi aturan akses, iku ora bakal bisa kanggo nemtokake identitas karo "127.0.0.1". Kajaba iku, panyerang bisa nemtokake alamat "0127.0.0.1", sing kudu padha karo "87.0.0.1", nanging bakal dianggep minangka "127.0.0.1" ing modul "node-netmask". Kajaba iku, sampeyan bisa ngapusi mriksa kanggo akses menyang alamat intranet kanthi nemtokake nilai kaya "012.0.0.1" (padha karo "10.0.0.1", nanging bakal diproses minangka 12.0.0.1 sajrone mriksa).

Peneliti sing ngenali masalah kasebut nyebat masalah kasebut minangka bencana lan nyedhiyakake sawetara skenario serangan, nanging umume katon spekulatif. Contone, ngandika bab kamungkinan kanggo nyerang aplikasi basis Node.js sing netepake sambungan external kanggo njaluk sumber daya adhedhasar paramèter utawa data panjalukan input, nanging aplikasi ora dijenengi utawa rinci. Sanajan sampeyan nemokake aplikasi sing ngemot sumber daya adhedhasar alamat IP sing dilebokake, ora sakabehe jelas kepiye kerentanan bisa dieksploitasi ing praktik tanpa nyambung menyang jaringan lokal utawa tanpa ngontrol alamat IP "pangilon".

Peneliti mung nganggep yen pemilik 87.0.0.1 (Telecom Italia) lan 0177.0.0.1 (Brasil Telecom) bisa ngliwati watesan akses menyang 127.0.0.1. Skenario sing luwih nyata yaiku ngeksploitasi kerentanan kanggo ngliwati macem-macem dhaptar blokir sisih aplikasi. Masalah kasebut uga bisa ditrapake kanggo nuduhake definisi kisaran intranet ing modul NPM "private-ip".

Source: opennet.ru

Add a comment