Vulnerabileco kiu permesis ĝisdatigon esti liberigita por iu pako en la NPM-deponejo

GitHub malkaŝis du okazaĵojn en sia NPM-pakaĵa deponeja infrastrukturo. La 2-an de novembro, triapartaj sekurecaj esploristoj (Kajetan Grzybowski kaj Maciej Piechota), kadre de la programo Bug Bounty, raportis la ĉeeston de vundebleco en la deponejo de NPM, kiu ebligas al vi publikigi novan version de iu ajn pako uzante vian konton, kiu ne estas rajtigita fari tiajn ĝisdatigojn.

La vundebleco estis kaŭzita de malĝustaj permeskontroloj en la kodo de mikroservoj, kiuj procesas petojn al NPM. La rajtigoservo elfaris pakajn permeskontrolojn bazitajn sur la datumoj pasigitaj en la peto, sed alia servo kiu alŝutis la ĝisdatigon al la deponejo determinis la pakaĵon por publikigi surbaze de la metadatuma enhavo de la alŝutita pakaĵo. Tiel, atakanto povus peti la publikigon de ĝisdatigo por sia pakaĵo, al kiu li havas aliron, sed specifi en la pakaĵo mem informojn pri alia pakaĵo, kiu eventuale estus ĝisdatigita.

La problemo estis riparita 6 horojn post kiam la vundebleco estis raportita, sed la vundebleco ĉeestis en NPM pli longe ol telemetriaj protokoloj kovras. GitHub asertas, ke ne estis spuroj de atakoj uzantaj ĉi tiun vundeblecon ekde septembro 2020, sed ne ekzistas garantio, ke la problemo ne estis ekspluatata antaŭe.

La dua okazaĵo okazis la 26-an de oktobro. Dum teknika laboro kun la datumbazo de la servo replicate.npmjs.com, la ĉeesto de konfidencaj datumoj en la datumbazo alirebla al eksteraj petoj estis malkaŝita, malkaŝante informojn pri la nomoj de internaj pakaĵoj, kiuj estis menciitaj en la ŝanĝprotokolo. Informoj pri tiaj nomoj povas esti uzataj por fari dependecajn atakojn al internaj projektoj (en februaro, simila atako permesis ekzekuti kodon en la serviloj de PayPal, Microsoft, Apple, Netflix, Uber kaj 30 aliaj kompanioj).

Krome, pro la kreskanta nombro da kazoj de deponejoj de grandaj projektoj forkaptitaj kaj malica kodo reklamita per kompromisaj programkontoj, GitHub decidis enkonduki devigan dufaktoran aŭtentikigon. La ŝanĝo ekvalidos en la unua trimonato de 2022 kaj aplikiĝos al prizorgantoj kaj administrantoj de pakaĵoj inkluzivitaj en la plej populara listo. Aldone, oni raportas pri la modernigo de la infrastrukturo, en kiu aŭtomata kontrolado kaj analizo de novaj versioj de pakaĵoj estos enkondukitaj por frua detekto de malicaj ŝanĝoj.

Ni memoru, ke, laŭ studo farita en 2020, nur 9.27% de pakaĵaj prizorgantoj uzas dufaktoran aŭtentikigon por protekti aliron, kaj en 13.37% de kazoj, registrinte novajn kontojn, programistoj provis reuzi kompromititajn pasvortojn, kiuj aperis en. konataj pasvortfuĝoj. Dum pasvorta sekureca revizio, 12% de NPM-kontoj (13% de pakaĵoj) estis aliritaj pro la uzo de antaŭvideblaj kaj bagatelaj pasvortoj kiel "123456". Inter la problemaj estis 4 uzantkontoj el la Top 20 plej popularaj pakaĵoj, 13 kontoj kun pakaĵoj elŝutitaj pli ol 50 milionoj da fojoj monate, 40 kun pli ol 10 milionoj da elŝutoj monate, kaj 282 kun pli ol 1 miliono da elŝutoj monate. Konsiderante la ŝarĝon de moduloj laŭ ĉeno de dependecoj, kompromiso de nefidindaj kontoj povus influi ĝis 52% de ĉiuj moduloj en NPM.

fonto: opennet.ru

Aldoni komenton