Zehfbûna di pakêta node-netmask NPM de di 270 hezar projeyan de tê bikar anîn

Pakêta node-netmask NPM, ku her hefte bi qasî 3 mîlyon dakêşan heye û wekî girêdayî zêdetirî 270 hezar projeyên li ser GitHub tê bikar anîn, xwedan xisariyek (CVE-2021-28918) ye ku dihêle ku ew kontrolên ku netmaskê bikar tînin derbas bike. ji bo destnîşankirina bûyera navnîşanên rêzan an ji bo fîlterkirin. Pirsgirêk di berdana node-netmask 2.0.0 de tê rast kirin.

Zehf gengaz dike ku meriv navnîşek IP-ya derveyî wekî navnîşek ji tora hundurîn û berevajî vê yekê, û bi mantiqek diyar a karanîna modula node-netmask di serîlêdanê de bikar bîne da ku SSRF (sextekirina daxwaza ji alîyê serverê), RFI. Êrîşên (Tevvegirtina Pelê Dûr) û LFI (Tevvegirtina pelê herêmî)) ji bo gihîştina çavkaniyên li ser tora hundurîn û pelên derveyî an herêmî di zincîra darvekirinê de vedihewînin. Pirsgirêk ev e ku li gorî diyardeyê, nirxên rêzika navnîşan ên ku bi sifirê dest pê dikin divê wekî hejmarên oktal werin şîrove kirin, lê modula node-netmask vê yekê li ber çavan nagire û wan wekî hejmarên dehiyê digire.

Mînakî, êrîşkarek dikare bi destnîşankirina nirxa "0177.0.0.1", ku bi "127.0.0.1" re têkildar e, çavkaniyek herêmî bixwaze, lê modula "node-netmask" wê vala derxe, û 0177.0.0.1" wekî " 177.0.0.1", ku di serîlêdanê de dema ku qaîdeyên gihîştinê dinirxînin, dê nekare nasnameya bi "127.0.0.1" were destnîşankirin. Bi heman awayî, êrîşkar dikare navnîşana "0127.0.0.1" diyar bike, ku divê wekî "87.0.0.1" be, lê dê di modula "node-netmask" de wekî "127.0.0.1" were hesibandin. Bi heman rengî, hûn dikarin bi destnîşankirina nirxên mîna "012.0.0.1" (wekhevî "10.0.0.1", lê dê di dema kontrolê de wekî 12.0.0.1 were pêvajo kirin, ji bo gihîştina navnîşanên intranetê kontrolê bixapînin.

Lekolînwanên ku pirsgirêk tespît kirine, pirsgirêkê wekî felaket binav dikin û çend senaryoyên êrîşê pêşkêş dikin, lê piraniya wan spekulatîf xuya dikin. Mînakî, ew qala îhtîmala êrişkirina serîlêdana bingehîn a Node.js dike ku girêdanên derveyî saz dike da ku çavkaniyek li ser bingeha pîvan an daneya daxwaza têketinê bixwaze, lê serîlêdan bi taybetî bi nav û ne bi hûrgulî ye. Tewra ku hûn serîlêdanên ku çavkaniyan li ser bingeha navnîşanên IP-ya têketin bar dikin bibînin jî, bi tevahî ne diyar e ka meriv çawa di pratîkê de bêyî girêdana bi torgilokek herêmî an bêyî bidestxistina kontrola navnîşanên IP-yê "neynik" dikare di pratîkê de were bikar anîn.

Lekolînwan tenê texmîn dikin ku xwediyên 87.0.0.1 (Telecom Italia) û 0177.0.0.1 (Brasil Telecom) dikarin sînorkirina gihîştina 127.0.0.1 derbas bikin. Senaryoyek rastîntir ev e ku meriv qelsiyê bikar bîne da ku navnîşên blokên cihêreng ên serîlêdanê derbas bike. Pirsgirêk di heman demê de dikare ji bo parvekirina pênase rêzikên intranet-ê di modula NPM-ê "ip-taybet" de jî were sepandin.

Source: opennet.ru

Add a comment