เมื่อหลายวันก่อนใน GitLab เปิดตัวผ่านบล็อกโพสต์ ที่นักวิจัยเปิดเผยว่า รายละเอียดของจุดอ่อน การรักษาความปลอดภัยได้รับการแก้ไขแล้วใน GitLab ซึ่งเป็นซอฟต์แวร์โอเพ่นซอร์ส DevOps ที่อนุญาตให้ผู้โจมตีจากระยะไกลที่ไม่ผ่านการตรวจสอบสิทธิ์สามารถดึงข้อมูลที่เกี่ยวข้องกับผู้ใช้ได้
จุดอ่อนหลักที่มีอยู่แล้ว จดทะเบียนเป็น CVE-2021-4191 เกิดจากข้อบกพร่องที่มีความรุนแรงปานกลางซึ่งส่งผลต่อ GitLab Community Edition และ Enterprise Edition ทุกรุ่นตั้งแต่ 13.0 และทุกเวอร์ชันตั้งแต่ 14.4 และเก่ากว่า 14.8
มันคือ Jake Baines นักวิจัยด้านความปลอดภัยอาวุโสของ Rapid7 ซึ่งได้รับเครดิตในการค้นพบและรายงานข้อบกพร่องซึ่งหลังจากเปิดเผยอย่างรับผิดชอบเมื่อวันที่ 18 พฤศจิกายน 2021 มีการแก้ไขซึ่งเป็นส่วนหนึ่งของการเผยแพร่ความปลอดภัยที่สำคัญ จาก GitLab 14.8.2, 14.7.4 14.6.5 และ XNUMX ซึ่ง อาจอนุญาตให้ผู้ใช้ที่ไม่ได้รับอนุญาตขุดโทเค็นการลงทะเบียนใน GitLab Runner ซึ่งใช้ในการจัดระเบียบตัวจัดการการโทรเมื่อสร้างรหัสโครงการในระบบการรวมอย่างต่อเนื่อง
"ช่องโหว่นี้เป็นผลมาจากการตรวจสอบสิทธิ์ขาดหายไปเมื่อดำเนินการตามคำขอ GitLab GraphQL API" Baines กล่าว กล่าวถึงในรายงานที่เผยแพร่เมื่อวันพฤหัสบดี "ผู้โจมตีจากระยะไกลที่ไม่ผ่านการตรวจสอบสิทธิ์สามารถใช้ช่องโหว่นี้เพื่อรวบรวมชื่อผู้ใช้ ชื่อ และที่อยู่อีเมลที่ลงทะเบียนไว้ของ GitLab"
นอกจากนี้ มีการกล่าวถึงว่าหากคุณใช้ตัวดำเนินการ Kubernetes คุณต้องอัปเดตค่าแผนภูมิ Helm ด้วยตนเอง ด้วยโทเค็นการลงทะเบียนใหม่
และสำหรับอินสแตนซ์ที่จัดการเองซึ่งไม่ใช่เวอร์ชัน 14.6 หรือใหม่กว่า GitLab มี แพทช์ที่โพสต์ ที่สามารถนำไปใช้เพื่อบรรเทาการเปิดเผยโทเค็นการลงทะเบียนนักวิ่งผ่านช่องโหว่ ของการกระทำที่รวดเร็ว แพทช์เหล่านี้ควรได้รับการพิจารณาชั่วคราว อินสแตนซ์ GitLab ใดๆ ควรได้รับการอัปเดตเป็นเวอร์ชันแพตช์ 14.8.2, 14.7.4 หรือ 14.6.5 โดยเร็วที่สุด
การใช้ประโยชน์จากการรั่วไหลของ API ที่ประสบความสำเร็จ อาจอนุญาตให้ผู้มุ่งร้ายระบุและรวบรวมรายชื่อชื่อผู้ใช้ที่ถูกต้องตามกฎหมายที่เป็นของเป้าหมาย ซึ่งสามารถใช้เป็นกระดานกระโดดน้ำในการโจมตีแบบเดรัจฉาน รวมถึงการเดารหัสผ่าน การพ่นรหัสผ่าน และการบรรจุข้อมูลรับรอง
“ข้อมูลรั่วไหลยังอาจทำให้ผู้โจมตีสามารถสร้าง wordlist ของผู้ใช้ใหม่ตามการติดตั้ง GitLab ไม่เพียงแต่จาก gitlab.com แต่ยังมาจากอินสแตนซ์ GitLab ที่เข้าถึงอินเทอร์เน็ตได้อีก 50,000 รายการ”
ขอแนะนำ สำหรับผู้ใช้ที่ดูแลการติดตั้ง GitLab ของตนเอง เพื่อติดตั้งการอัปเดตหรือใช้โปรแกรมแก้ไขโดยเร็วที่สุด ปัญหานี้ได้รับการแก้ไขแล้วโดยให้สิทธิ์การเข้าถึงคำสั่งการดำเนินการด่วนแก่ผู้ใช้ที่มีสิทธิ์เขียนเท่านั้น
หลังจากติดตั้งการอัปเดตหรือแพตช์ "token-prefix" แต่ละรายการ โทเค็นการลงทะเบียนที่สร้างไว้ก่อนหน้านี้สำหรับกลุ่มและโปรเจ็กต์ใน Runner จะถูกรีเซ็ตและสร้างใหม่
นอกจากจุดอ่อนที่สำคัญแล้ว เวอร์ชันใหม่ที่เปิดตัวยังรวมถึงการแก้ไขช่องโหว่ที่อันตรายน้อยกว่า 6 รายการ:
- การโจมตี DoS ผ่านระบบส่งข้อเสนอแนะ: ปัญหาใน GitLab CE/EE ที่มีผลกับทุกเวอร์ชันที่เริ่มต้นด้วย 8.15 เป็นไปได้ที่จะเปิดใช้งาน DOS โดยใช้ฟังก์ชันคณิตศาสตร์ที่มีสูตรเฉพาะในความคิดเห็นเกี่ยวกับปัญหา
- การเพิ่มผู้ใช้รายอื่นในกลุ่มโดยผู้ใช้ที่ไม่มีสิทธิพิเศษ: ซึ่งมีผลกับทุกเวอร์ชันก่อน 14.3.6 ทุกเวอร์ชันตั้งแต่ 14.4 ก่อน 14.4.4 ทุกเวอร์ชันตั้งแต่ 14.5 ก่อน 14.5.2 ภายใต้เงื่อนไขบางประการ GitLab REST API สามารถอนุญาตให้ผู้ใช้ที่ไม่มีสิทธิพิเศษเพิ่มผู้ใช้รายอื่นในกลุ่มได้ แม้ว่าจะเป็นไปไม่ได้ผ่านทาง UI ของเว็บก็ตาม
- ข้อมูลที่ผิดของผู้ใช้ผ่านการดัดแปลงเนื้อหาของ Snippets: อนุญาตให้นักแสดงที่ไม่ได้รับอนุญาตสร้าง Snippets ที่มีเนื้อหาหลอกลวง ซึ่งอาจหลอกล่อผู้ใช้ที่ไม่สงสัยให้ดำเนินการคำสั่งตามอำเภอใจ
- การรั่วไหลของตัวแปรสภาพแวดล้อมผ่านวิธีการส่ง "sendmail": การตรวจสอบอินพุตที่ไม่ถูกต้องใน GitLab CE/EE ทุกรุ่นโดยใช้ sendmail เพื่อส่งอีเมล อนุญาตให้นักแสดงที่ไม่ได้รับอนุญาตขโมยตัวแปรสภาพแวดล้อมผ่านที่อยู่อีเมลที่สร้างขึ้นเป็นพิเศษ
- การกำหนดสถานะผู้ใช้ผ่าน GraphQL API: อินสแตนซ์ GitLab ส่วนตัวที่มีการจำกัดการลงทะเบียนอาจเสี่ยงต่อการแจงนับผู้ใช้โดยผู้ใช้ที่ไม่ผ่านการตรวจสอบสิทธิ์ผ่าน GraphQL API
- รหัสผ่านรั่วเมื่อมิเรอร์ที่เก็บผ่าน SSH ในโหมดดึง
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียดได้ในไฟล์ ลิงค์ต่อไปนี้