گیتلب مانند گیتهاب با نقصی مواجه شده است که عاملان مخرب از آن برای توزیع بدافزار با استفاده از URLهای مرتبط با مخازن مایکروسافت سوءاستفاده میکنند.
بهگزارش تکناک، بلیپینگکامپیوتر چندی پیش اعلام کرده بود که چگونه بازیگران مخرب برای توزیع بدافزار با استفاده از URLهای مرتبط با مخزنهای مایکروسافت از نقصی در گیتهاب سوءاستفاده میکنند و باعث میشوند تا فایلها معتبر بهنظر برسند.
حالا مشخص شده است که گیتلب نیز تحتتأثیر همین مشکل قرار گرفته و ممکن است به روش مشابهی از آن سوءاستفاده شود.
بهنقل از بلیپینگکامپیوتر، درحالیکه بیشتر فعالیتهای مرتبط با بدافزار حول URLهای گیتهاب مایکروسافت بود، از این نقص ممکن است با هر مخزن عمومی در گیتهاب یا گیتلب سوءاستفاده و به بازیگران مخرب اجازه داده شود تا طعمههای بسیار متقاعدکنندهای ایجاد کنند. بهعنوان مثال، URLهای زیر که در حمله استفاده شدهاند، اینگونه القا میکردند که این فایلهای زیپ در مخزن کد منبع مایکروسافت وجود دارند:
- https://github[.]com/microsoft/vcpkg/files/14125503/Cheat.Lab.2.7.2.zip
- https://github[.]com/microsoft/STL/files/14432565/Cheater.Pro.1.6.0.zip
در پی تحقیقات کارشناسان، مشخص شد این فایلها که بدافزار هستند، در مخزن کد مایکروسافت یافت نمیشوند و درعوض، روی CDN گیتهاب وجود داشتند و بهاحتمال زیاد بازیگری مخرب که از ویژگی کامنتهای پلتفرم سوءاستفاده کرده، آنها را آپلود کرده است. هنگام ارسال نظر درباره کامیت یا درخواست نظرسنجی، کاربر گیتهاب میتواند فایلی را ضمیمه کند که در CDN گیتهاب آپلود و با استفاده از URL منحصربهفرد با فرمت زیر به پروژه مرتبط متصل میشود:
https://www.github.com/{project_user}/{repo_name}/files/{file_id}/{file_name}
برای ویدئوها و تصاویر، فایلها بهجای آن در مسیر /assets/ ذخیره میشوند. بهجای اینکه URL پس از ارسال نظر ایجاد شود، گیتهاب بهطور خودکار پس از افزودن فایل به نظرِ ذخیرهنشده، لینک دانلود را ایجاد میکند. این مسئله به بازیگران مخرب اجازه میدهد تا بدافزار خود را به هر مخزنی بدون اطلاع آنها ضمیمه کنند.
حتی اگر کامنت هرگز ارسال نشود یا بعداً کاربر یا مهاجم آن را حذف کند، لینک دانلود فایل همچنان فعال باقی میماند. سرگئی فرانکوف از سرویس تحلیل خودکار بدافزار UNPACME ماه گذشته درباره این باگ گفت که بازیگران مخرب بهطور فعال از آن سوءاستفاده میکنند. کمی پس از او، کاربران اشاره کردند که گیتلب نیز از این مشکل مصون نیست.
متخصصان امنیت در آزمایشهایی توانستند فایلهایی را آپلود کنند که در CDN گیتلب آپلود میشدند؛ اما بهنظر میرسید که این فایلها در مخزنهای گیتلب پروژههای متنباز محبوب مانند Inkscape و Wireshark وجود دارند:
- https://gitlab[.]com/inkscape/inkscape/uploads/edfdbc997689255568a7c81db3f3dc51/InkScape-2024-Latest.exe
- https://gitlab[.]com/wireshark/wireshark/uploads/b4162053fbb4dc6ee4f673c532009e16/WireShark-v4.2.4-stable-release.exe
این فایل استفادهشده در آزمایشها تصویر JPG بیخطری است که برای نشاندادن چگونگی سوءاستفاده از این ویژگی بهدست بازیگران مخرب به .exe تغییر نام داده شده است. بدینترتیب، آنها کاربران را فریب میدهند تا نسخههای نرمافزار تقلبی حاوی بدافزار را دانلود کنند. فرمت چنین فایلهایی که در CDN گیتلب آپلود میشوند، بهصورت زیر است:
https://gitlab.com/{project_group_namr}/{repo_name}/uploads/{file_id}/{file_name}
در اینجا، file_id بهنظر میرسد هش MD4 یا MD5 است تا شناسه عددی سادهتر.
شبیه به گیتهاب، لینکهای فایلهای تولیدشده گیتلب حتی اگر مهاجم هرگز آنها را ارسال نکنند یا بعداً حذف شوند، همچنان فعال باقی میمانند. گیتلب قبل از اینکه کاربران بتوانند این فایلها را آپلود یا دانلود کنند، از آنان میخواهد تا وارد سیستم شوند؛ اما این کار از آپلود اولیه این فایلها بهوسیله بازیگران مخرب مانع نمیشود.
ازآنجاکه تقریباً تمام شرکتهای نرمافزاری از گیتهاب یا گیتلب استفاده میکنند، این نقص به بازیگران مخرب امکان میدهد تا طعمههای وسوسهکنندهای ایجاد کنند. بهعنوان مثال، بازیگر مخرب میتواند فایل اجرایی معیوبی را در مخزن نصبکننده درایور انویدیا آپلود کند که وانمود میکند درایور جدیدی است که مشکلات یکی از بازیهای محبوب را برطرف میکند یا میتواند فایلی را در کامنتی درباره کد منبع گوگل کروم آپلود و وانمود کند که نسخه آزمایشی جدیدی از مرورگر وب است.
همچنین، این URLها بهنظر میرسد که متعلق به مخزنهای شرکت هستند؛ بههمیندلیل، بسیار مطمئن بهنظر میرسند. متأسفانه حتی اگر شرکتی متوجه شود که از مخزنهایش برای توزیع بدافزار سوءاستفاده میشود، تنظیماتی وجود ندارد که به آن اجازه دهد تا فایلهای ضمیمهشده به پروژههای خود را مدیریت یا حذف کند. بلیپینگکامپیوتر 18 آوریل با هر دو شرکت گیتهاب و مایکروسافت درباره این سوءاستفاده تماس گرفت؛ اما پاسخی دریافت نکرد.