بهروزرسانی جدید GitLab:
پس از افشای دو آسیبپذیری امنیتی حیاتی، GitLab بهروزرسانیهایی را برای پلتفرم خود منتشر کرد. این شرکت اعلام کرد که تمامی کاربران نسخه Enterprise و Community باید هرچه سریعتر پلتفرم خود را بهروز کنند تا از هرگونه تلاش برای سوءاستفاده از این آسیبپذیریها جلوگیری شود.
GitLab اعلام کرده است که تمام بخشهای این پلتفرم که در دسترس کاربران قرار دارند یا دادههای مشتریان را میزبانی میکنند، باید از بالاترین استانداردهای امنیتی برخوردار باشند. به همین دلیل، توصیه میشود که همه کاربران، نسخههای خود را به جدیدترین نسخههای موجود ارتقا دهند. نسخههای بهروزرسانیشده شامل 17.9.2، 17.8.5 و 17.7.7 هستند که بسته به نسخه استفادهشده، باید یکی از آنها نصب شود.
آسیب پذیریهای حیاتی CVE-2025-25291 و CVE-2025-25292
از مهمترین آسیبپذیریهای اصلاحشده، میتوان به دو نقص امنیتی بحرانی اشاره کرد که با شناسههای CVE-2025-25291 و CVE-2025-25292 ثبت شدهاند. این آسیبپذیریها در کتابخانه ruby-saml شناسایی شدهاند که GitLab هنگام فعال بودن احراز هویت مبتنی بر SAML SSO در سطح گروه یا فرآیند در حال اجرا (instance) از آن استفاده میکند. این نقصها در GitLab.com و همچنین در نسخههای 17.7.7، 17.8.5 و 17.9.2 از GitLab CE/EE برطرف شدهاند.
در نمونههای GitLab CE/EE که از احراز هویت SAML استفاده میکنند، تحت شرایط خاص، مهاجمی که به یک سند SAML امضاشده معتبر از ارائهدهنده هویت (IdP) دسترسی داشته باشد، میتواند بهعنوان یک کاربر معتبر دیگر در محیط SAML IdP احراز هویت کند.
این آسیبپذیریها از تفاوت در نحوه پردازش XML توسط کتابخانههای REXML و Nokogiri ناشی میشوند که میتوانند به حملهای موسوم به Signature Wrapping منجر شوند. حمله Signature Wrapping، که در سیستمهای SAML یا XML رخ میدهد، به مهاجم امکان میدهد یک بخش امضاشده را دستکاری کند و تأیید اعتبار را دور بزند. به دلیل وجود نقص در فرایند تأیید امضا، مهاجمان قادرند با ارسال یک ورودی XML دستکاریشده، احراز هویت را دور بزنند و بدون نیاز به اطلاعات کاربری معتبر به سیستم دسترسی پیدا کنند. نسخههای ۱.۱۲.۴ و ۱.۱۸.۰ کتابخانه ruby-saml با ارائه پچهایی این مشکلات را برطرف کردهاند.
البته برای اجرای این حمله، مهاجم ابتدا باید به یک حساب کاربری دیگر با اطلاعات کاربری معتبر دسترسی داشته باشد. علاوه بر این، اجرای موفقیتآمیز حمله مستلزم دسترسی به یک حساب ادمین است تا بتواند حسابهای جدیدی را ایجاد کند که تحت کنترل مهاجم قرار بگیرند.
این نقصها بهطور مستقیم به GitLab گزارش شدهاند و تاکنون گزارشی مبنی بر سوءاستفاده از آنها منتشر نشده است. کشف این آسیبپذیریها به نام پژوهشگران ahacker1 و Peter Stöckli ثبت شده است.
آسیبپذیری CVE-2025-27407
علاوه بر آن دو آسیبپذیری بحرانی، GitLab یک نقص امنیتی با شدت بالا را نیز پچ کرده که با شناسه CVE-2025-27407 ثبت شده است. این آسیبپذیری در کتابخانه GraphQL برای Ruby وجود دارد و در GitLab.com در نسخههای 17.7.7، 17.8.5 و 17.9.2 از GitLab CE/EE آن را برطرف کرده است.
این آسیبپذیری در شرایط خاص به مهاجم اجازه میدهد تا با استفاده از حساب کاربری احراز هویتشده تحت کنترل خود، یک پروژه مخرب را از طریق قابلیت Direct Transfer منتقل کند. در صورت اکسپلویت موفق، که با بارگذاری یک تعریف طرحواره (Schema) مخرب در متدهای زیر انجام میشود:
- GraphQL::Schema.from_introspection
- GraphQL::Schema::Loader.load
اجرای کد از راه دور (RCE) امکانپذیر خواهد بود. هر سیستمی که طرحواره GraphQL را از یک منبع غیرقابل اعتماد بهصورت JSON بارگذاری کند، در معرض این آسیبپذیری قرار دارد.
همچنین، مشابه آسیبپذیریهای قبلی، برای سوءاستفاده از این نقص، مهاجم باید از قبل یک حساب کاربری معتبر در سیستم داشته باشد.
توصیه های امنیتی
- بهروزرسانی سریع GitLab و کتابخانههای امنیتی: همیشه از جدیدترین نسخهها استفاده کنید تا از آسیبپذیریهای شناختهشده محافظت شوید.
- فعالسازی احراز هویت چندعاملی (MFA): برای همه کاربران، مخصوصاً مدیران، MFA را فعال کنید تا از حملات SSO جلوگیری شود.
- محدودسازی قابلیت Direct Transfer: اگر نیازی به این ویژگی ندارید، آن را غیرفعال کنید تا خطر اجرای کد از راه دور کاهش یابد.
- بررسی لاگهای احراز هویت: ورودهای غیرعادی و تلاشهای مشکوک برای تغییر تنظیمات SAML را بررسی کنید.
- محدود کردن سطح دسترسی کاربران: کاربران فقط باید به امکاناتی که نیاز دارند دسترسی داشته باشند تا از سوءاستفاده مهاجمان جلوگیری شود.