ویژگی تبدیل ایمیل به Issue در GitLab که برای تسهیل مدیریت پروژهها طراحی شده بود، اکنون به دلیل ضعف در تنظیمات پیشفرض و استفاده از توکنهای بلندمدت، به یک نقطه ضعف امنیتی تبدیل شده است. طبق یافتههای شرکت Aikido Security، هر کسی که به آدرس ایمیل مخصوص یک پروژه دسترسی پیدا کند، میتواند به طور بالقوه مخازن (Repositories) محافظتشده را تغییر دهد.
تحلیل فنی مکانیزم آسیبپذیری
این قابلیت که در GitLab.com برای تمامی حسابها فعال است و امکان غیرفعالسازی آن وجود ندارد، از یک توکن دسترسی شخصی (Personal Access Token یا PAT) با پیشوند glimt- استفاده میکند که در بدنه آدرس ایمیل جاسازی شده است. محققان دریافتند که این توکن در تمامی پروژههای یک حساب کاربری یکسان است؛ بنابراین، نشت یک آدرس ایمیل مربوط به یک پروژه، دسترسی به تمامی پروژههای عمومی و خصوصی آن حساب را فراهم میکند.
پیامدهای امنیتی و سوءاستفاده از CI/CD
عامل تهدید (Threat Actor) میتواند با تغییر ساده پسوند توکن در ایمیل، به جای ایجاد یک Issue، یک Merge Request ارسال کند. این امر منجر به نتایج زیر میشود:
- ارسال Patchهای دستکاری شده به مخزن کد.
- اجرای کدهای مخرب در محیط CI/CD پروژه.
- دور زدن محدودیتهای IP که GitLab برای دسترسیهای مرورگر و Git Clone اعمال میکند (چرا که این محدودیتها روی ایمیلها اثر ندارند).
دامنه اثرگذاری و ریسک
میزان آسیب کاملاً به سطح دسترسیهای کاربر متصل به آن ایمیل بستگی دارد. اگر کاربر دارای مجوز Push به شاخه Main یا اجرای Pipelineهای CI/CD باشد، مهاجم نیز همین دسترسیها را به ارث میبرد. محققان Aikido گزارش دادهاند که تنها در چند ساعت جستوجو، چندین مورد از این آدرسهای لو رفته در فضای وب، از جمله در پروژههای متنباز شناختهشده مانند wget2، پیدا کردهاند.
توصیههای امنیتی برای مدیران SOC و مهندسان
سازمانها باید با این آدرسهای ایمیل نه به عنوان یک نقطه انتهایی ارتباطی، بلکه به عنوان Credentials (اطلاعات شناسایی) حساس برخورد کنند. توصیههای زیر پیشنهاد میشود:
- جستوجوی فعال برای یافتن آدرسهای لو رفته در مخازن عمومی و مستندات.
- در صورت احتمال نشت، بلافاصله توکن ایمیل را بازنشانی (Reset) کنید تا آدرسهای قبلی باطل شوند.
- بهبود نظارت بر Merge Requestهای غیرمنتظره در محیطهای CI/CD.