การเผยแพร่ช่องโหว่ Authentication Bypass ระดับ Critical ใน GitLab (CVE-2024-45409)

หากคุณใช้งาน GitLab แบบ Self-Managed และตั้งค่าการ authentication แบบ SAML-based แต่ยังไม่ได้อัปเกรดตั้งแต่กลางเดือนกันยายน ขอแนะนำให้ทำการอัปเกรดทันที เนื่องจากนักวิจัยด้านความปลอดภัยได้เผยแพร่การวิเคราะห์ช่องโหว่ CVE-2024-45409 และสคริปต์สำหรับโจมตีที่อาจช่วยให้ผู้ไม่หวังดีสามารถเข้าถึงบัญชีผู้ใช้งานต่าง ๆ บน GitLab ได้

รายละเอียด CVE-2024-45409

GitLab เป็นแพลตฟอร์มการพัฒนาซอฟต์แวร์ที่ได้รับความนิยมซึ่งสามารถติดตั้งโดยผู้ใช้บนเซิร์ฟเวอร์ภายในองค์กร, Kubernetes หรือผ่านผู้ให้บริการคลาวด์ได้

CVE-2024-45409 เป็นช่องโหว่ Authentication Bypass ความรุนแรงระดับ Critical ในไลบรารี Ruby-SAML และ OmniAuth-SAML ซึ่งถูกใช้ในหลายเวอร์ชันของ GitLab Community Edition (CE) และ Enterprise Edition (EE)

ช่องโหว่นี้มีผลกระทบกับ OmniAuth-SAML เวอร์ชันก่อน 2.2.1 และ Ruby-SAML เวอร์ชันก่อน 1.17.0 และได้รับการแก้ไขในเวอร์ชัน 17.3.3, 17.2.7, 17.1.8, 17.0.8, และ 16.11.10 ของ GitLab CE และ EE

การแก้ไขช่องโหว่นี้ได้รับการ backported ไปยังเวอร์ชันเก่าของ GitLab ด้วย ได้แก่ 16.10.10, 16.9.11, 16.8.10, 16.7.10, 16.6.10, 16.5.10, 16.4.7, 16.3.9, 16.2.11, 16.1.8 และ 16.0.10

ในขณะนั้น GitLab Inc. ได้เรียกร้องให้ผู้ดูแลระบบที่ใช้งาน GitLab แบบ Self-Managed ทำการอัปเกรดไปยังเวอร์ชันที่มีการแก้ไข และได้แชร์วิธีการลดความเสี่ยงที่เป็นไปได้ รวมถึงแนะนำลูกค้าเกี่ยวกับวิธีการตรวจสอบการพยายามในการโจมตี และได้แชร์ rules สำหรับการตรวจจับภัยคุกคามด้วย

การวิเคราะห์ทางเทคนิค และโค้ด PoC (Proof of Concept)

นักวิจัยจาก Project Discovery ระบุว่า "Security Assertion Markup Language หรือ SAML เป็นโปรโตคอลที่ใช้กันอย่างแพร่หลายสำหรับการแลกเปลี่ยนข้อมูลการยืนยันตัวตน และการอนุญาตระหว่างผู้ให้บริการข้อมูลประจำตัว (IdP) และผู้ให้บริการ (SPs) ส่วนสำคัญในการทำให้การแลกเปลี่ยนนี้ปลอดภัยคือการตรวจสอบความสมบูรณ์ และความถูกต้องของข้อมูลผ่าน digital signatures และ digest verification

CVE-2024-45409 ทำให้ผู้โจมตีสามารถข้ามขั้นตอน signature validation ได้ แต่ต้องได้รับ SAML Response ที่ออกโดย identity provider ให้กับผู้ใช้งานที่ถูกโจมตีก่อน

นักวิจัยจาก Synacktiv กล่าวสรุปว่า "หากการ authentication สำเร็จ ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าแรกของ GitLab"

ที่มา : helpnetsecurity.com