Zhvilluesit e sistemit të lirë të menaxhimit të përmbajtjes Plone, i shkruar në Python dhe JavaScript/NodeJS, njoftuan për një incident, si rezultat i të cilit në depozitën git të projektit në GitHub u shtua kod keqdashës. Fillimisht, në depozitë u identifikuan tre ndryshime të shfaqura më 7 janar (1, 2, 3), që shtonin kod keqdashës në skedarët JavaScript të projektit (1, 2, 3). Analiza e incidentit tregoi se integrimi i kodit keqdashës ndodhi si pasojë e komprometimit të llogarisë së njërit prej zhvilluesve, token-i i aksesit të të cilit u përvetësua nga sulmuesit pasi në sistemin e tij ishte ekzekutuar softuer keqdashës.
Më 14 janar, llogaria e komprometuar u bllokua dhe zhvilluesve të projektit iu rekomandua të analizonin commit-et nga 1 deri më 14 janar. Më 27 janar u zbulua se rasti nuk kufizohej vetëm te commit-et e vërejtura dhe se sulmi kishte prekur pesë depozita të projektit (plone/volto, plone/mockup, plone/plone.app.mosaic, plone/critical-css-cli, plone/plonetheme.barceloneta), në të cilat ishte integruar në mënyrë të padukshme kod keqdashës. Në rastin e depozitës plone.app.mosaic, sulmuesit arritën të zëvendësonin degën master. Sulmi u krye dy muaj pas komprometimit të token-it të aksesit të zhvilluesit.
PĂ«r tĂ« integruar ndryshimet, nĂ« vend tĂ« commit-eve tĂ« zakonshme, sulmuesit pĂ«rdorĂ«n operacionin «force push» (git push me opsionin «âforce»), i cili lejon zĂ«vendĂ«simin me forcĂ« tĂ« njĂ« dege nĂ« depozitĂ«n e jashtme me pĂ«rmbajtjen e tyre dhe, pĂ«r rrjedhojĂ«, rishkrimin e historikut tĂ« ndryshimeve (pas zĂ«vendĂ«simit shfaqet historiku nga dega e ngarkuar nga sulmuesi). PĂ«r tĂ« parandaluar njĂ« zĂ«vendĂ«sim tĂ« tillĂ« tĂ« degĂ«ve nĂ« tĂ« ardhmen, zhvilluesit e Plone aktivizuan nĂ« GitHub rregulla qĂ« bllokojnĂ« operacionet «force push» pĂ«r degĂ«t kryesore dhe etiketat.
NĂ« depozitorin plone.app.mosaic, pĂ«r ta vĂ«shtirĂ«suar zbulimin e komprometimit, sulmuesit futĂ«n nĂ« degĂ«n master njĂ« commit keqdashĂ«s me datĂ« tĂ« rreme â 18 dhjetor, duke llogaritur qĂ« kĂ«rkimi pĂ«r kodin keqdashĂ«s do tĂ« pĂ«rqendrohej te ndryshimet e shtuara pas aktivitetit tĂ« tyre tĂ« parĂ« nĂ« depozitor. NĂ« commit-in e futur, ndryshimi keqdashĂ«s u paraqit si fillimi i zhvillimit tĂ« njĂ« versioni tĂ« ri testues, por pĂ«rveç ndryshimit tĂ« numrit tĂ« versionit nĂ« metadata (nga 4.0.0a1 nĂ« 4.0.0a2.dev0), nĂ« skedarin JavaScript prettier.config.js, i cili thirret gjatĂ« fazĂ«s sĂ« build-it, u shtua kod keqdashĂ«s. PĂ«r ta fshehur gjatĂ« shqyrtimit tĂ« ndryshimeve nĂ« terminal, kodi u shtua nĂ« tĂ« njĂ«jtĂ«n rresht me njĂ« operacion legjitim dhe u zhvendos jashtĂ« zonĂ«s sĂ« dukshme duke pĂ«rdorur hapĂ«sira. NĂ« ndĂ«rfaqen e GitHub, ky kod gjithashtu nuk shfaqej si parazgjedhje dhe kĂ«rkonte shtypjen e butonit «Load Diff».

Sulmi ishte i orientuar më shumë ndaj zhvilluesve të projektit sesa ndaj përdoruesve. Ndryshimet keqdashëse nuk hynë në release. Kodi keqdashës aktivizohej gjatë build-it, shkarkonte eksploitë për përshkallëzim privilegjesh, konfiguronte nisjen automatike përmes thirrjes së proceseve të veta nga skriptet e nisjes dhe lejonte kontroll në distancë server. Përveç kësaj, komponenti keqdashës i instaluar kërkonte dhe dërgonte të dhëna konfidenciale, si tokenë aksesi, profile shfletuesish dhe çelësa të kuletave kripto.
Burimi: opennet.ru
