GitLab بهروزرسانیهای امنیتی را برای رفع آسیبپذیری حیاتی دور زدن احراز هویت SAML با شناسه CVE-2024-45409 (امتیاز CVSS: 10.0) منتشر کرده است که بر نصبهای خود مدیریت شده GitLab Community Edition (CE) و Enterprise Edition (EE) تأثیر میگذارد.
Security Assertion Markup Language (SAML) یک پروتکل احراز هویت با ورود به سیستم (SSO) است که به کاربران اجازه میدهد با استفاده از اطلاعات ورود یکسان در سرویسهای مختلف وارد شوند. این نقص از مشکلی در کتابخانههای OmniAuth-SAML و Ruby-SAML ناشی میشود که GitLab از آنها برای مدیریت احراز هویت مبتنی بر SAML استفاده میکند. این آسیبپذیری زمانی رخ میدهد که پاسخ SAML ارسال شده توسط یک ارائهدهنده هویت (IdP) به GitLab حاوی پیکربندی اشتباه باشد یا دستکاری شود.
نقص مذکور شامل اعتبار سنجی ناکافی عناصر کلیدی در اظهارات SAML است، مانند extern_uid (شناسه کاربر خارجی)، که برای شناسایی منحصر به فرد کاربر در سیستمهای مختلف استفاده میشود. مهاجم میتواند یک پاسخ مخرب SAML ایجاد کند که GitLab را فریب دهد تا آنها را به عنوان کاربران احراز هویت شده شناسایی کند، احراز هویت SAML را دور زده و به نمونه GitLab دسترسی پیدا کند.
آسیبپذیری CVE-2024-45409 که نسخههای GitLab 17.3.3، 17.2.7، 17.1.8، 17.0.8، 16.11.10 و تمامی نسخههای قبلی این موارد را تحت تأثیر قرار میدهد، در نسخههای GitLab 17.3.3، 17.2.7، 17.1.8، 17.0.8 و 16.11.10 برطرف شده و OmniAuth SAML به نسخه 2.2.1 و Ruby-SAML به 1.17.0 ارتقا یافته است.
https://www.bleepingcomputer.com/news/security/gitlab-releases-fix-for-critical-saml-authentication-bypass-flaw/
https://thehackernews.com/2024/09/gitlab-patches-critical-saml.html