42 NPM-paketti TanStack on integreeritud isekeerduvussupid.

GitHub Actionsi põhineva versioonide loomise protsessi kokkuleppimise tõttu suutis häkker jõuda TanStacki projektis NPM-repositorisse ning avaldada seal 84 pahatahtlikku versiooni, mis katab 42 TanStacki NPM-paketti. Mõned rikutud paketid olid rohkem kui 10 miljoni allalaadimisega nädalas.

Juurdepääs versioonide avaldamisele saadi vale pull_request_target 'Pwn Request' seadistuse tõttu GitHub Actionsis (mõjutas maski seadistuste määramine, mis viis pull_request_targeti käivitamiseni kolmandate osaliste forkitera). See hõlmas ka GitHub Actionsi vahemälu reostust forki kaudu ning OIDC-märgi hankimise võimalust jooksva runner-protsessi (Runner.Worker) mälust läbi /proc//mem sisu lugemise.

Rikutud NPM-paketid, milles on pahatahtlikud muudatused, avaldati 11. mail ajavahemikus 22:20 kuni 22:26 (MSK), tuvastati 20 minuti pärast ja blokeeriti poolteise tunni pärast. Iga nakatunud NPM-paketi jaoks avaldati kaks pahatahtlikku versiooni, mis sisaldasid koodi mini-shai-hulud ussi aktiveerimiseks, mis otsis praeguses keskkonnas tokenite ja kasutajatunnuste eest. Kui NPM katalooge ühendav token avastati, avaldas uss automaatselt uusi pahatahtlikke versioone praeguses keskkonnas arendatavate paketide jaoks, nakatades sõltuvuspuu. Selle meetodi abil nakatati üle 400 NPM-paketi, mis kasutasid sõltuvustena TanStacki pakette.

Uss oli paigutatud failisse router_init.js ja aktiveerus, kui arendaja installis nakatunud paketti käsitsi või automaatselt pideva integratsiooni keskkonnas, kasutades käske «npm install», «pnpm install» või «yarn install». Pärast aktiveerimist otsis uss süsteemis tokenite järele NPM (~/.npmrc), AWS, GCP, Azure, HashiCorpi ja Kubernetes K8s, samuti SSH sulgemise võtmeid. Leitud andmed edastati kurjategijatele detsentraliseeritud P2P-vestlussüsteemi getsession.org kaudu.

Kirbulas oli ette nähtud destruktiivsete tegevuste sooritamine juhul, kui NPM-token tagasi kutsuti; süsteemis seadistati korduv skripti ~/.local/bin/gh-token-monitor.sh käivitamine, mis kontrollis iga 60 sekundi järel tokeni aktiivsust, tehes päringu aadressil api.github.com/user, ja juhul, kui token tühistati, käivitas käsu «rm -rf ~/».

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster