Ymosodiad ar NPM sy'n eich galluogi i bennu presenoldeb pecynnau mewn cadwrfeydd preifat

Mae diffyg wedi'i nodi yn yr NPM sy'n eich galluogi i ganfod bodolaeth pecynnau mewn storfeydd caeedig. Achosir y mater gan amseroedd ymateb gwahanol wrth ofyn am becyn sy'n bodoli a phecyn nad yw'n bodoli gan drydydd parti nad oes ganddo fynediad i'r gadwrfa. Os nad oes mynediad ar gyfer unrhyw becynnau mewn cadwrfeydd preifat, mae gweinydd registry.npmjs.org yn dychwelyd gwall gyda'r cod “404”, ond os oes pecyn gyda'r enw y gofynnwyd amdano yn bodoli, cyhoeddir y gwall gydag oedi amlwg. Gall ymosodwr ddefnyddio'r nodwedd hon i bennu presenoldeb pecyn trwy chwilio enwau pecynnau gan ddefnyddio geiriaduron.

Efallai y bydd angen pennu enwau pecynnau mewn cadwrfeydd preifat i berfformio ymosodiad cymysgu dibyniaeth sy'n trin croestoriad enwau dibyniaeth mewn cadwrfeydd cyhoeddus a mewnol. Gan wybod pa becynnau NPM mewnol sy'n bresennol mewn cadwrfeydd corfforaethol, gall ymosodwr osod pecynnau gyda'r un enwau a rhifau fersiynau mwy newydd yn ystorfa NPM cyhoeddus. Os nad yw'r llyfrgelloedd mewnol wedi'u cysylltu'n benodol â'u storfa yn y gosodiadau yn ystod y cynulliad, bydd rheolwr pecyn npm yn ystyried bod y storfa gyhoeddus yn flaenoriaeth uwch a bydd yn lawrlwytho'r pecyn a baratowyd gan yr ymosodwr.

Hysbyswyd GitHub o'r broblem ym mis Mawrth ond gwrthododd ychwanegu amddiffyniad yn erbyn yr ymosodiad, gan nodi cyfyngiadau pensaernïol. Argymhellir bod cwmnïau sy'n defnyddio storfeydd preifat yn gwirio o bryd i'w gilydd am ymddangosiad enwau sy'n gorgyffwrdd yn y gadwrfa gyhoeddus neu greu bonion ar eu rhan gydag enwau sy'n ailadrodd enwau pecynnau mewn cadwrfeydd preifat, fel na all ymosodwyr osod eu pecynnau ag enwau sy'n gorgyffwrdd.

Ffynhonnell: opennet.ru

Ychwanegu sylw