GitLab ออกแพตช์แก้ไขช่องโหว่ authentication bypass ระดับ Critical

GitLab ออกแพตซ์อัปเดตด้านความปลอดภัยสำหรับ Community Edition (CE) และ Enterprise Edition (EE) โดยแก้ไขช่องโหว่ทั้งหมด 9 รายการ ซึ่งรวมถึงช่องโหว่ authentication bypass ระดับ Critical สองรายการที่อยู่ในไลบรารี ruby-saml

ช่องโหว่ทั้งหมดได้รับการแก้ไขใน GitLab CE/EE เวอร์ชัน 17.7.7, 17.8.5 และ 17.9.2 โดยทุกเวอร์ชันก่อนหน้านี้ยังคงมีความเสี่ยงต่อช่องโหว่ดังกล่าว

GitLab.com ได้รับการอัปเดตแพตช์เรียบร้อยแล้ว และลูกค้า GitLab Dedicated จะได้รับการอัปเดตโดยอัตโนมัติ แต่ผู้ใช้งาน GitLab แบบ self-managed จะต้องดำเนินการอัปเดตด้วยตนเอง

โดย GitLab ระบุว่า "ขอแนะนำให้ทุกระบบที่ใช้เวอร์ชันที่ได้รับผลกระทบจากช่องโหว่ที่ระบุด้านล่างนี้อัปเกรดเป็นเวอร์ชันล่าสุดโดยเร็วที่สุด"

ช่องโหว่ระดับ Critical สองรายการที่ GitLab แก้ไขในครั้งนี้คือ CVE-2025-25291 และ CVE-2025-25292 ซึ่งทั้งสองรายการอยู่ในไลบรารี ruby-saml ที่ใช้สำหรับการยืนยันตัวตน SAML Single Sign-On (SSO) ในระดับ instance หรือ group

ช่องโหว่เหล่านี้สามารถทำให้ผู้ไม่หวังดีที่ผ่านการยืนยันตัวตน และมีสิทธิ์เข้าถึงเอกสาร SAML ที่มี signed ถูกต้อง สามารถแอบอ้างเป็นผู้ใช้รายอื่นใน SAML Identity Provider (IdP) environment เดียวกันได้

หมายความว่าหากผู้ไม่หวังดีสามารถเข้าถึงบัญชีของผู้ใช้งานอื่นได้โดยไม่ได้รับอนุญาต ซึ่งอาจนำไปสู่การรั่วไหลของข้อมูล, การเพิ่มสิทธิ์การเข้าถึง และความเสี่ยงด้านความปลอดภัยอื่น ๆ

GitHub พบช่องโหว่ใน ruby-saml และได้เผยแพร่ผลการวิเคราะห์เชิงลึกเกี่ยวกับช่องโหว่ทั้งสองรายการ โดยระบุว่าแพลตฟอร์มของตนไม่ได้รับผลกระทบ เนื่องจากการใช้งานไลบรารี ruby-saml หยุดไปแล้วในปี 2014

GitHub ระบุในบทความของตนว่า "GitHub ไม่ได้ใช้งาน ruby-saml สำหรับการยืนยันตัวตนในปัจจุบัน แต่เริ่มประเมินการใช้งานไลบรารีนี้อีกครั้ง โดยมีเจตนาที่จะใช้ไลบรารีโอเพนซอร์สสำหรับการยืนยันตัวตน SAML อีกครั้ง"

อย่างไรก็ตาม ไลบรารีนี้ถูกใช้งานในโปรเจกต์ และผลิตภัณฑ์ยอดนิยมอื่น ๆ เราพบกรณีที่สามารถโจมตีจากช่องโหว่นี้ใน GitLab และได้แจ้งทีมความปลอดภัยของพวกเขาเพื่อให้ดำเนินการที่จำเป็นในการป้องกันผู้ใช้งานจากการโจมตีที่อาจเกิดขึ้น

หนึ่งในช่องโหว่ที่ได้รับการแก้ไขโดย GitLab คือช่องโหว่การเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกลที่มีระดับความรุนแรงสูง ซึ่งมีหมายเลข CVE-2025-27407

ช่องโหว่นี้สามารถทำให้ผู้ใช้งานที่ผ่านการยืนยันตัวตนที่ถูกควบคุมโดยผู้ไม่หวังดี สามารถใช้ฟีเจอร์ Direct Transfer (ซึ่งถูกปิดใช้งานเป็นค่าเริ่มต้น) เพื่อทำการเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกลได้

ช่องโหว่ที่เหลือเป็นช่องโหว่ที่มีความรุนแรงระดับต่ำถึงปานกลาง ซึ่งเกี่ยวข้องกับ Denial of Service (DoS), Credential exposure และ Shell code injection โดยทั้งหมดสามารถถูกใช้โจมตีได้เมื่อมีสิทธิ์การเข้าถึงในระดับสูง

ผู้ใช้งาน GitLab ที่ไม่สามารถอัปเกรดเป็นเวอร์ชันที่ปลอดภัยได้ทันที ควรใช้มาตรการลดความเสี่ยงดังต่อไปนี้

  • ดำเนินการให้ผู้ใช้งานทั้งหมดใน GitLab self-managed instance เปิดใช้งาน 2FA (โดย MFA ในระดับ Identity Provider จะไม่สามารถลดความเสี่ยงจากช่องโหว่นี้ได้)
  • ปิดใช้งาน SAML two-factor bypass option
  • ขอการอนุมัติจากผู้ดูแลระบบสำหรับผู้ใช้งานที่สร้างขึ้นโดยอัตโนมัติ โดยตั้งค่า 'gitlab_rails['omniauth_block_auto_created_users'] = true'

แม้ว่าขั้นตอนเหล่านี้จะช่วยลดความเสี่ยงจากการโจมตีได้ แต่ควรถือเป็นมาตรการลดความเสี่ยงชั่วคราวจนกว่าจะสามารถอัปเกรดไปยัง GitLab เวอร์ชัน 17.9.2, 17.8.5 หรือ 17.7.7 ได้

หากต้องการอัปเดต GitLab ให้ไปที่ official downloads hub และสำหรับคำแนะนำการติดตั้ง GitLab Runner สามารถดูได้ที่นี่

ที่มา : bleepingcomputer