UAParser.js кітапханасының кодын көшірген үш зиянды буманың NPM репозиторийінен жойылу оқиғасы күтпеген жалғасын алды – белгісіз шабуылдаушылар UAParser.js жобасы авторының тіркелгісін бақылауды басып алды және коды бар жаңартуларды шығарды. құпия сөздерді ұрлау және криптовалюталарды өндіру.
Мәселе мынада: User-Agent HTTP тақырыбын талдауға арналған функцияларды ұсынатын UAParser.js кітапханасы аптасына 8 миллионға жуық жүктеп алынады және 1200-ден астам жобаларда тәуелділік ретінде пайдаланылады. UAParser.js Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP және Verison сияқты компаниялардың жобаларында қолданылатыны айтылған. .
Шабуыл жоба әзірлеушісінің аккаунтын бұзу арқылы жүзеге асырылды, ол пошта жәшігіне ерекше спам толқыны түскеннен кейін бірдеңе дұрыс емес екенін түсінді. Әзірлеушінің аккаунтының қалай бұзылғаны туралы нақты ақпарат жоқ. Шабуылдаушылар 0.7.29, 0.8.0 және 1.0.0 нұсқаларын жасап, оларға зиянды код енгізді. Бірнеше сағат ішінде әзірлеушілер жобаны бақылауды қалпына келтіріп, 0.7.30, 0.8.1 және 1.0.1 жаңартуларын жасап, мәселені шешті. Зиянды нұсқалар тек NPM репозиторийінде пакеттер ретінде жарияланды. Жобаның GitHub-тағы Git репозиторийіне әсер етілмеді. Мәселелі нұсқаларды орнатқан барлық пайдаланушылар анықталғаннан кейін... Linux/macOS jsextension файлында және ішінде Windows jsextension.exe және create.dll файлдары үшін жүйенің бұзылғанын ескеру ұсынылады.
Қосылған зиянды модификациялар бұрын UAParser.js клондарында ұсынылған модификацияларға ұқсады, олар негізгі жобаға кең ауқымды шабуыл жасамас бұрын функционалдылықты тексеру үшін шығарылған. jsextension орындалатын файлы сыртқы хосттан жүктеліп, пайдаланушы жүйесінде орындалды. jsextension орындалатын файлы пайдаланушы платформасына негізделіп таңдалды және қолдау тапты. Linux, macOS и WindowsПлатформа үшін Windows Monero криптовалютасын өндіру бағдарламасынан басқа (XMRig майнері пайдаланылды), шабуылдаушылар құпия сөздерді ұстап алып, оларды сыртқы хостқа жіберу үшін create.dll кітапханасын да енгізді.
Жүктеп алу коды preinstall.sh файлына қосылды, онда кірістіру IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') егер [ -z " болса. $ IP" ] ... fi орындалатын файлды жүктеп алып, іске қосыңыз
Кодтан көрініп тұрғандай, сценарий алдымен freegeoip.app сервисінде IP мекенжайын тексеріп, Ресей, Украина, Беларусь және Қазақстан пайдаланушылары үшін зиянды қолданбаны іске қоспаған.
Ақпарат көзі: opennet.ru
